/*
 *     Generated by class-dump 3.1.
 *
 *     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2005 by Steve Nygard.
 */

struct EnrichedState {
    unsigned int excerptLevel:8;
    unsigned int alignment:4;
    unsigned int bold:1;
    unsigned int italic:1;
    unsigned int fixed:1;
    unsigned int underline:1;
    unsigned int fontDelta:16;
    id fontFamily;
    id color;
};

struct KClientPrincipalOpaque;

struct KClientSessionOpaque;

struct NtlmGenerator;

struct OpaqueSecCertificateRef;

struct OpaqueSecKeychainItemRef;

struct OpaqueSecPolicyRef;

struct OpaqueSecTrustRef;

struct _CommandStackEntry {
    struct {
    } *_field1;
    id _field2;
};

struct _MessageSortingInformation {
    char _field1;
    char _field2;
    id _field3;
};

struct _NSMapTable;

struct _NSPoint {
    float _field1;
    float _field2;
};

struct _NSRange {
    unsigned int location;
    unsigned int length;
};

struct _NSRect {
    struct _NSPoint _field1;
    struct _NSSize _field2;
};

struct _NSSize {
    float _field1;
    float _field2;
};

struct _NSZone;

struct __CFArray;

struct __CFDictionary;

struct __CFReadStream;

struct __CFSet;

struct __CFString;

struct __CFTree;

struct __CFWriteStream;

struct __MDQuery;

struct __SCDynamicStore;

struct sqlite3;

struct sqlite3_stmt;

typedef struct {
    int version;
    int count;
    int timeStamp;
    float tocHeight;
    unsigned int sortOrder;
    unsigned int sortedAscending;
    int unused1;
    int unused2;
} CDAnonymousStruct1;

typedef struct {
    unsigned int _field1;
    unsigned int _field2;
    char _field3;
    char _field4;
} CDAnonymousStruct5;

typedef struct {
    unsigned int colorHasBeenEvaluated:1;
    unsigned int colorWasSetManually:1;
    unsigned int redColor:8;
    unsigned int greenColor:8;
    unsigned int blueColor:8;
    unsigned int loadingBody:1;
    unsigned int unused:5;
} CDAnonymousStruct3;

typedef struct {
    unsigned int reserved:26;
    unsigned int hasCustomEncoding:1;
    unsigned int isPartial:1;
    unsigned int partsHaveBeenCached:1;
    unsigned int hasTemporaryUid:1;
    unsigned int isHTML:1;
    unsigned int isRich:1;
} CDAnonymousStruct11;

typedef struct {
    id _field1;
    id _field2;
    char _field3;
    id _field4;
    id _field5;
    id _field6;
    id _field7;
    unsigned int _field8;
    id _field9;
    unsigned int _field10;
} CDAnonymousStruct2;

typedef struct {
    unsigned int _field1;
    unsigned int _field2;
} CDAnonymousStruct8;

typedef struct {
    unsigned short buffer[64];
    struct __CFString *theString;
    unsigned short *directBuffer;
    struct {
        int location;
        int length;
    } rangeToBuffer;
    int bufferedRangeStart;
    int bufferedRangeEnd;
} CDAnonymousStruct10;

typedef struct {
    id _field1;
    id _field2;
    char _field3;
    id _field4;
    id _field5;
    id _field6;
    id _field7;
    unsigned int _field8;
    id _field9;
} CDAnonymousStruct9;

typedef struct {
    id _field1;
    id _field2;
    struct __CFDictionary *_field3;
    struct __CFDictionary *_field4;
    struct __CFDictionary *_field5;
    unsigned int _field6;
    unsigned int _field7;
    int _field8;
    id _field9;
} CDAnonymousStruct12;

typedef struct {
    int _field1;
    id _field2;
    id _field3;
    unsigned int _field4;
} CDAnonymousStruct6;

typedef struct {
    id _field1;
    unsigned int :1;
    unsigned int :1;
    unsigned int :1;
    unsigned int :2;
} CDAnonymousStruct4;

typedef struct {
    unsigned int count;
    unsigned long long size;
} CDAnonymousStruct7;

union _IMAPResponseData {
    struct {
        int responseCode;
        id responseInfoAndOrUserData;
    } basic;
    NSArray *capabilities;
    unsigned int number;
    NSArray *flags;
    struct {
        NSString *mailboxName;
        NSDictionary *entries;
    } status;
    NSArray *searchResults;
    struct {
        unsigned long mailboxAttributes;
        id separatorAndOrMboxName;
    } list;
    struct {
        unsigned long number;
        NSArray *items;
    } fetch;
    struct {
        NSString *mailboxName;
        NSArray *quotaRootNames;
    } quotaRoot;
    struct {
        NSString *quotaRootName;
        NSArray *quotas;
    } quota;
    struct {
        NSString *uids;
        IMAPFetchResult *flagsFetchResult;
        unsigned int change:1;
    } uidFlags;
    struct {
        NSString *name;
        NSArray *parameters;
    } other;
};

/*
 * File: Message
 * Arch: Intel 80x86 (i386)
 *       Current version: 750.0.0, Compatibility version: 1.0.0
 */

@protocol ABImageClient <NSObject>
- (void)consumeImageData:(id)fp8 forTag:(int)fp12;
@end

@protocol DataConsumer
- (void)appendData:(id)fp8;
- (void)done;
@end

@protocol IMAPMailboxListFilter
- (void)filterMailboxList:(id)fp8 forMailbox:(id)fp12 options:(int)fp16;
@end

@protocol MessageConsumer
- (void)newMessagesAvailable:(id)fp8;
- (void)newMessagesAvailable:(id)fp8 ranks:(id)fp12;
- (BOOL)shouldCancel;
@end

@protocol NSCoding
- (void)encodeWithCoder:(id)fp8;
- (id)initWithCoder:(id)fp8;
@end

@protocol NSCopying
- (id)copyWithZone:(struct _NSZone *)fp8;
@end

@protocol NSMutableCopying
- (id)mutableCopyWithZone:(struct _NSZone *)fp8;
@end

@protocol NSObject
- (BOOL)isEqual:(id)fp8;
- (unsigned int)hash;
- (Class)superclass;
- (Class)class;
- (id)self;
- (struct _NSZone *)zone;
- (id)performSelector:(SEL)fp8;
- (id)performSelector:(SEL)fp8 withObject:(id)fp12;
- (id)performSelector:(SEL)fp8 withObject:(id)fp12 withObject:(id)fp16;
- (BOOL)isProxy;
- (BOOL)isKindOfClass:(Class)fp8;
- (BOOL)isMemberOfClass:(Class)fp8;
- (BOOL)conformsToProtocol:(id)fp8;
- (BOOL)respondsToSelector:(SEL)fp8;
- (id)retain;
- (oneway void)release;
- (id)autorelease;
- (unsigned int)retainCount;
- (id)description;
@end

@protocol SASLSecurityLayer <NSObject>
- (unsigned int)encryptionBufferSize;
- (id)createDecryptedDataForBytes:(const char *)fp8 length:(unsigned int)fp12;
- (id)createEncryptedDataForBytes:(const char *)fp8 length:(unsigned int)fp12;
@end

@protocol SyncableApp
- (id)syncerForDataType:(int)fp8;
- (id)ownerForDataType:(int)fp8;
- (id)interestedPartiesForDataType:(int)fp8;
- (BOOL)tellInterestedPartiesDataWillBeSyncedForDataType:(int)fp8;
- (void)tellInterestedPartiesDataWasSyncedForDataType:(int)fp8;
- (void)client:(id)fp8 mightWantToSyncEntityNames:(id)fp12;
@end

@protocol SyncableDataOwner <NSObject>
- (BOOL)dataWillBeSyncedVersion:(id *)fp8 data:(id *)fp12;
- (BOOL)dataWasSyncedVersion:(id)fp8 newData:(id)fp12 acceptedChanges:(id)fp16;
@end

@interface NSPrivateMessageClassForFindingBundle : NSObject
{
}

@end

@interface MessageStore : SafeObserver
{
    struct {
        unsigned int isReadOnly:1;
        unsigned int hasUnsavedChangesToMessageData:1;
        unsigned int haveOpenLockFile:1;
        unsigned int rebuildingTOC:1;
        unsigned int compacting:1;
        unsigned int cancelInvalidation:1;
        unsigned int forceInvalidation:1;
        unsigned int isWritingChangesToDisk:1;
        unsigned int isTryingToClose:1;
        unsigned int compactOnClose:1;
        unsigned int reserved:22;
    } _flags;
    MailboxUid *_mailboxUid;
    MailAccount *_account;
    NSMutableArray *_allMessages;
    unsigned int _allMessagesSize;
    unsigned int _deletedMessagesSize;
    unsigned int _deletedMessageCount;
    unsigned int _unreadMessageCount;
    int _state;
    union {
        struct {
            ObjectCache *_headerDataCache;
            ObjectCache *_headerCache;
            ObjectCache *_bodyDataCache;
            ObjectCache *_bodyCache;
        } objectCaches;
        struct {
            struct __CFDictionary *_headerDataCache;
            struct __CFDictionary *_headerCache;
            struct __CFDictionary *_bodyDataCache;
            struct __CFDictionary *_bodyCache;
        } intKeyCaches;
    } _caches;
    NSTimer *_timer;
    NSMutableSet *_uniqueStrings;
    double timeOfLastAutosaveOperation;
    ActivityMonitor *_openMonitor;
}

+ (void)initialize;
+ (struct _NSMapTable *)_storeCacheMapTable;
+ (unsigned int)numberOfCurrentlyOpenStores;
+ (id)descriptionOfOpenStores;
+ (id)currentlyAvailableStoreForUid:(id)fp8;
+ (id)currentlyAvailableStoresForAccount:(id)fp8;
+ (id)registerAvailableStore:(id)fp8;
+ (void)removeStoreFromCache:(id)fp8;
+ (BOOL)createEmptyStoreIfNeededForPath:(id)fp8 notIndexable:(BOOL)fp12;
+ (BOOL)createEmptyStoreForPath:(id)fp8;
+ (BOOL)storeAtPathIsWritable:(id)fp8;
+ (BOOL)cheapStoreAtPathIsEmpty:(id)fp8;
+ (int)copyMessages:(id)fp8 toMailboxUid:(id)fp12 shouldDelete:(BOOL)fp16;
- (void)queueSaveChangesInvocation;
- (id)willBeReleased;
- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (void)dealloc;
- (void)finalize;
- (void)openAsynchronouslyUpdatingMetadata:(BOOL)fp8;
- (void)openAsynchronously;
- (void)openAsynchronouslyWithOptions:(unsigned int)fp8;
- (void)openSynchronously;
- (void)openSynchronouslyUpdatingMetadata:(BOOL)fp8;
- (void)updateMetadataAsynchronously;
- (void)updateMetadata;
- (void)didOpen;
- (void)cancelOpen;
- (void)writeUpdatedMessageDataToDisk;
- (void)invalidateSavingChanges:(BOOL)fp8;
- (id)account;
- (id)mailboxUid;
- (BOOL)isOpened;
- (id)storePathRelativeToAccount;
- (id)displayName;
- (const char *)displayNameForLogging;
- (BOOL)isReadOnly;
- (id)description;
- (BOOL)isTrash;
- (BOOL)isDrafts;
- (void)messageFlagsDidChange:(id)fp8 flags:(id)fp12;
- (void)structureDidChange;
- (void)messagesWereAdded:(id)fp8;
- (void)messagesWereCompacted:(id)fp8;
- (void)updateUserInfoToLatestValues;
- (unsigned int)totalMessageSize;
- (void)deletedCount:(unsigned int *)fp8 andSize:(unsigned int *)fp12;
- (unsigned int)totalCount;
- (unsigned int)unreadCount;
- (unsigned int)indexOfMessage:(id)fp8;
- (id)copyOfAllMessages;
- (id)mutableCopyOfAllMessages;
- (id)copyOfAllMessagesWithOptions:(unsigned int)fp8;
- (void)addMessagesToAllMessages:(id)fp8;
- (void)addMessageToAllMessages:(id)fp8;
- (void)insertMessageToAllMessages:(id)fp8 atIndex:(unsigned int)fp12;
- (id)_defaultRouterDestination;
- (id)routeMessages:(id)fp8;
- (id)finishRoutingMessages:(id)fp8 routed:(id)fp12;
- (id)routeMessages:(id)fp8 isUserAction:(BOOL)fp12;
- (BOOL)canRebuild;
- (void)rebuildTableOfContentsAsynchronously;
- (BOOL)canCompact;
- (void)doCompact;
- (void)deleteMessagesOlderThanNumberOfDays:(int)fp8 compact:(BOOL)fp12;
- (void)deleteMessages:(id)fp8 moveToTrash:(BOOL)fp12;
- (void)undeleteMessages:(id)fp8;
- (void)deleteLastMessageWithHeader:(id)fp8 forHeaderKey:(id)fp12 compactWhenDone:(BOOL)fp16;
- (BOOL)allowsAppend;
- (int)undoAppendOfMessageIDs:(id)fp8;
- (int)appendMessages:(id)fp8 unsuccessfulOnes:(id)fp12 newMessageIDs:(id)fp16 newMessages:(id)fp20;
- (int)appendMessages:(id)fp8 unsuccessfulOnes:(id)fp12 newMessageIDs:(id)fp16;
- (int)appendMessages:(id)fp8 unsuccessfulOnes:(id)fp12;
- (id)messageWithValue:(id)fp8 forHeader:(id)fp12 options:(unsigned int)fp16;
- (id)messageForMessageID:(id)fp8;
- (id)headerDataForMessage:(id)fp8;
- (id)bodyDataForMessage:(id)fp8;
- (id)fullBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)fullBodyDataForMessage:(id)fp8;
- (id)bodyForMessage:(id)fp8 fetchIfNotAvailable:(BOOL)fp12;
- (id)bodyForMessage:(id)fp8 fetchIfNotAvailable:(BOOL)fp12 updateFlags:(BOOL)fp16;
- (id)headersForMessage:(id)fp8;
- (id)headersForMessage:(id)fp8 fetchIfNotAvailable:(BOOL)fp12;
- (id)dataForMimePart:(id)fp8;
- (BOOL)hasCachedDataForMimePart:(id)fp8;
- (id)uniquedString:(id)fp8;
- (id)colorForMessage:(id)fp8;
- (BOOL)_shouldChangeComponentMessageFlags;
- (BOOL)_shouldChangeComponentMessageFlagsForMessage:(id)fp8;
- (id)setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (id)setFlagsFromDictionary:(id)fp8 forMessage:(id)fp12;
- (void)setFlag:(id)fp8 state:(BOOL)fp12 forMessages:(id)fp16;
- (BOOL)hasUnsavedChangesToMessageData;
- (void)setColor:(id)fp8 highlightTextOnly:(BOOL)fp12 forMessages:(id)fp16;
- (void)messageColorsNeedToBeReevaluated;
- (void)startSynchronization;
- (id)_getSerialNumberString;
- (void)setNumberOfAttachments:(unsigned int)fp8 isSigned:(BOOL)fp12 isEncrypted:(BOOL)fp16 forMessage:(id)fp20;
- (void)updateNumberOfAttachmentsForMessages:(id)fp8;
- (void)updateMessageColorsSynchronouslyForMessages:(id)fp8;
- (void)updateMessageColorsAsynchronouslyForMessages:(id)fp8;
- (void)setJunkMailLevel:(int)fp8 forMessages:(id)fp12;
- (void)setJunkMailLevel:(int)fp8 forMessages:(id)fp12 trainJunkMailDatabase:(BOOL)fp16;
- (id)status;
- (void)fetchSynchronously;
- (BOOL)setPreferredEncoding:(unsigned long)fp8 forMessage:(id)fp12;
- (void)suggestSortOrder:(id)fp8 ascending:(BOOL)fp12;
- (id)sortOrder;
- (BOOL)isSortedAscending;

@end

@interface MessageStore (MessageFrameworkOnly)
+ (void)_autosaveMessageStore:(void *)fp8;
- (void)_cancelAutosave;
- (void)_setNeedsAutosave;
- (id)_fetchHeaderDataForMessage:(id)fp8;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)_fetchBodyForMessage:(id)fp8 updateFlags:(BOOL)fp12;
- (id)_fetchBodyForMessage:(id)fp8;
- (BOOL)_shouldCallCompactWhenClosing;
- (void)_compactMessageAtIndex:(unsigned int)fp8;
- (BOOL)_isReadyToBeInvalidated;
- (void)_saveChanges;
- (void)_invalidate;
- (void)_invalidateInBackground;
- (void)_countUnreadAndDeleted;
- (void)_cleanUpStaleAttachments;
- (id)_lockFilePath;
- (BOOL)_acquireLockFile:(id)fp8;
- (void)_removeLockFile:(id)fp8;
- (void)_flushAllCaches;
- (void)_flushAllMessageData;
- (void)_rebuildTableOfContentsSynchronously;
- (void)updateBodyFlagsForMessage:(id)fp8 body:(id)fp12;
- (id)_setOrGetBody:(id)fp8 forMessage:(id)fp12 updateFlags:(BOOL)fp16;
- (id)_setOrGetBody:(id)fp8 forMessage:(id)fp12;
- (id)_cachedBodyForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (id)_cachedHeadersForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (id)_cachedBodyDataForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (id)_cachedHeaderDataForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (void)updateMessageColorsSynchronouslyForMessages:(id)fp8 postingNotification:(BOOL)fp12;
- (void)updateMessages:(id)fp8 updateColor:(BOOL)fp12 updateNumberOfAttachments:(BOOL)fp16;
- (void)_setBackgroundColorForMessages:(id)fp8 textColorForMessages:(id)fp12;
- (void)_invalidateColorForMessages:(id)fp8;
- (void)_setFlagsForMessages:(id)fp8 mask:(unsigned long)fp12;
- (void)_setFlagsAndColorForMessages:(id)fp8;
- (void)messagesWereAdded:(id)fp8 forIncrementalLoading:(BOOL)fp12;
@end

@interface _NSDataMessageStoreMessage : Message
{
}

- (id)initWithStore:(id)fp8;
- (void)dealloc;

@end

@interface NSDataMessageStore : MessageStore
{
    NSData *_data;
}

- (id)initWithData:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)storePath;
- (void)writeUpdatedMessageDataToDisk;
- (id)message;
- (id)headerDataForMessage:(id)fp8;
- (id)bodyDataForMessage:(id)fp8;
- (id)_cachedBodyForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (id)_cachedHeadersForMessage:(id)fp8 valueIfNotPresent:(id)fp12;

@end

@interface MessageRouter : NSObject <SyncableDataOwner>
{
    MessageStore *_store;
    NSMutableArray *_queuedMessages;
    NSConditionLock *_queuedMessagesFull;
    NSConditionLock *_queuedMessagesEmpty;
    NSLock *_queuedMessagesRouting;
    unsigned int _bytesInQueue;
    unsigned int _queueSize;
    BOOL _routingThreadShouldQuit;
    unsigned int _numMessagesRoutedSoFar;
    unsigned int _numMessagesToBeRouted;
    BOOL _isUserAction;
}

+ (void)initialize;
+ (void)_updateICalRule:(BOOL)fp8;
+ (void)_setupAddInvitationDefault;
+ (void)_iCalSettingChangedFromICal:(id)fp8;
+ (BOOL)_hasColorRules;
+ (int)colorChangeCounter;
+ (void)setColorChangeCounter:(int)fp8;
+ (void)enqueueColorRulesDidChange;
+ (BOOL)_colorRuleExistsAfterRule:(id)fp8;
+ (BOOL)colorsUpdateDynamically;
+ (void)ruleAffectingColorsDidChange:(id)fp8;
+ (void)ruleDidChange:(id)fp8;
+ (void)mailboxWillBeRenamedOrInvalidated;
+ (void)_mailboxBecameInvalid:(id)fp8;
+ (void)_mailboxWasRenamed:(id)fp8;
+ (id)defaultAppleEmailAddresses;
+ (id)_defaultSortRules;
+ (id)sortRulesPath;
+ (id)oldSortRulesPath;
+ (id)iCalRule;
+ (BOOL)_setICalRule:(id)fp8;
+ (id)_sortRulesFromDictionaryRepresentations:(id)fp8 junkRule:(id *)fp12 iCalRule:(id *)fp16;
+ (id)_sortRuleDictionaryRepresentations;
+ (void)_setupSortRules;
+ (id)_readRulesFromDiskOldStyle;
+ (id)_readRulesFromDisk;
+ (void)writeRulesToDisk;
+ (id)rules;
+ (unsigned int)numberOfRules;
+ (id)ruleAtIndex:(int)fp8;
+ (void)removeRuleAtIndex:(int)fp8;
+ (void)insertRule:(id)fp8 atIndex:(int)fp12;
+ (void)addRule:(id)fp8;
+ (void)removeRule:(id)fp8;
+ (void)tryToReconnectAutoDeactivatedRules;
+ (void)loadDestinationMailboxes;
+ (void)_mailboxListingChanged:(id)fp8;
+ (id)headersRequiredForRouting;
+ (void)headersRequiredForRoutingDidChange;
+ (void)putRulesThatWantsToHandleMessage:(id)fp8 intoArray:(id)fp12 colorRulesOnly:(BOOL)fp16;
+ (id)colorForMessage:(id)fp8 highlightTextUsingColor:(char *)fp12;
+ (int)junkMailTrainingBalance;
+ (void)incrementJunkMailTrainingDebtBy:(int)fp8;
+ (int)junkMailTrainingDebt;
+ (void)incrementJunkMailTrainingCreditBy:(int)fp8;
+ (int)junkMailTrainingCredit;
+ (void)resetJunkMailTrainingBalance;
+ (void)noteJunkMailboxHasBeenViewed;
+ (BOOL)junkMailboxHasBeenViewedRecently;
+ (BOOL)shouldTrainWhenMarkingAsJunk;
+ (int)junkMailBehavior;
+ (void)setJunkMailBehavior:(int)fp8;
+ (void)evaluateJunkMailBehaviorFromRules;
+ (void)reevaluateJunkMessagesInMailboxes:(id)fp8;
+ (id)junkMailRule;
+ (void)setJunkMailRule:(id)fp8;
+ (void)useJunkMailHeaderFlags:(BOOL)fp8;
+ (BOOL)isUsingJunkMailHeaderFlags;
+ (id)junkMailHeaderFlags;
+ (void)_applyRulesToMailboxUids:(id)fp8;
+ (void)applyRulesAsynchronouslyToMailboxUids:(id)fp8;
+ (BOOL)addInvitationsToICalAutomatically;
+ (BOOL)_addICalRule;
+ (void)setAddInvitationsToICalAutomatically:(BOOL)fp8;
+ (void)addInvitationsToICalFromMessages:(id)fp8;
+ (void)installNewRulesFromPlist:(id)fp8;
- (BOOL)_routeMessagesIndividually;
- (id)routeMessages:(id)fp8 fromStores:(id)fp12;
- (void)asynchronouslyRouteMessages:(id)fp8;
- (void)routeQueuedMessages;
- (void)waitForRoutingToFinish;
- (void)setStore:(id)fp8;
- (void)setEstimatedNumberOfMessagesToRoute:(unsigned int)fp8;
- (void)dealloc;
- (void)finalize;
- (void)setIsUserAction:(BOOL)fp8;
- (BOOL)dataWillBeSyncedVersion:(id *)fp8 data:(id *)fp12;
- (BOOL)dataWasSyncedVersion:(id)fp8 newData:(id)fp12 acceptedChanges:(id)fp16;
- (id)newRulesArrayWithJunkAndICalRules:(id)fp8;

@end

@interface MessageRule : NSObject <NSCopying>
{
    NSString *_ruleName;
    NSMutableArray *_criteria;
    MailboxUid *_destinationMailbox;
    NSString *_destinationMailboxURL;
    NSString *_soundPath;
    NSString *_speechAlert;
    NSArray *_recipients;
    int _autoResponseType;
    NSString *_responseMessage;
    NSColor *_color;
    NSString *_appleScriptPath;
    unsigned int _flags;
    unsigned int _isActive:1;
    unsigned int _shouldTransferMessage:1;
    unsigned int _shouldCopyMessage:1;
    unsigned int _allCriteriaMustBeSatisfied:1;
    unsigned int _shouldStopEvaluatingRules:1;
    unsigned int _highlightTextUsingColor:1;
    unsigned int _shouldNotifyUser:1;
    unsigned int _addInvitationAttachmentToICal:1;
    unsigned int _ruleWasAutoDeactivated:1;
    NSNumber *_isActiveSyncState;
    NSDictionary *_otherInfo;
    MailboxUid *_copyDestinationMailbox;
    NSString *_copyDestinationMailboxURL;
    unsigned short _version;
    BOOL _isJunkMailRule;
    BOOL _isICalRule;
    NSString *_uniqueId;
}

+ (void)initialize;
+ (id)appleScriptLock;
+ (id)_createUniqueIdString;
- (void)dealloc;
- (void)finalize;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (id)description;
- (BOOL)isEqual:(id)fp8;
- (id)uniqueId;
- (id)init;
- (id)initWithRule:(id)fp8;
- (id)mailboxURLForMailboxUid:(id)fp8;
- (id)mailboxPathForMailboxURL:(id)fp8 createIfNeeded:(BOOL)fp12;
- (id)initWithDictionaryRepresentation:(id)fp8;
- (id)dictionaryRepresentation;
- (void)_updateDefaultAppleEmailAddressRule;
- (void)_appendMessages:(id)fp8 fromSourceMailbox:(id)fp12 toDestinationMailbox:(id)fp16 destinationStores:(id)fp20 rejectedMessages:(id)fp24 messagesToBeDeleted:(id)fp28;
- (void)performActionsOnMessages:(id)fp8 destinationStores:(id)fp12 rejectedMessages:(id)fp16 messagesToBeDeleted:(id)fp20;
- (id)_performAutoResponseActionOnMessage:(id)fp8 encrypt:(BOOL)fp12 includeOriginalMessageText:(BOOL)fp16 bodyString:(id)fp20;
- (void)_performAutoResponseActionOnMessages:(id)fp8;
- (void)_performAppleScriptActionWithMessages:(id)fp8;
- (void)_performAddInvitationAttachmentToICalActionOnMessages:(id)fp8;
- (void)addHeadersRequiredForRoutingToArray:(id)fp8;
- (BOOL)doesMessageSatisfyCriteria:(id)fp8;
- (BOOL)isValid:(id *)fp8;
- (void)performPostSyncingValidation;
- (id)ruleName;
- (void)setRuleName:(id)fp8;
- (unsigned short)version;
- (void)setVersion;
- (void)clearVersion;
- (BOOL)isTerminalAction;
- (void)setIsJunkMailRule:(BOOL)fp8;
- (BOOL)isJunkMailRule;
- (BOOL)hasJunkMailCriterion;
- (BOOL)isActive;
- (void)setIsActive:(BOOL)fp8;
- (BOOL)isActiveSyncState;
- (void)setIsActiveSyncState:(BOOL)fp8;
- (BOOL)allCriteriaMustBeSatisfied;
- (void)setAllCriteriaMustBeSatisfied:(BOOL)fp8;
- (id)criteria;
- (void)setCriteria:(id)fp8;
- (BOOL)shouldTransferMessage;
- (void)setShouldTransferMessage:(BOOL)fp8;
- (BOOL)shouldCopyMessage;
- (void)setShouldCopyMessage:(BOOL)fp8;
- (id)_destinationMailbox:(id)fp8 withURL:(id)fp12 setUsingSelector:(SEL)fp16 createIfNeeded:(BOOL)fp20;
- (void)_setDestinationIvar:(id *)fp8 toDestinationMailbox:(id)fp12 destinationURLIvar:(id *)fp16;
- (id)_destinationMailboxCreateIfNeeded:(BOOL)fp8;
- (id)destinationMailbox;
- (void)setDestinationMailbox:(id)fp8;
- (id)_copyDestinationMailboxCreateIfNeeded:(BOOL)fp8;
- (id)copyDestinationMailbox;
- (void)setCopyDestinationMailbox:(id)fp8;
- (id)_tryToGetMailboxUidForURL:(id)fp8;
- (void)tryToReconnectDestinationIfNeeded;
- (BOOL)invalidateDestinationMailboxesForURLString:(id)fp8;
- (id)appleScriptDestinationMailbox;
- (id)appleScriptCopyDestinationMailbox;
- (void)_evaluateIfNeeded:(id)fp8 andSetUsingSelector:(SEL)fp12;
- (void)setAppleScriptCopyDestinationMailbox:(id)fp8;
- (void)setAppleScriptDestinationMailbox:(id)fp8;
- (unsigned long)flagsToApply;
- (void)setFlagsToApply:(unsigned long)fp8;
- (id)appleScriptPath;
- (void)setAppleScriptPath:(id)fp8;
- (id)color;
- (void)setColor:(id)fp8;
- (BOOL)highlightTextUsingColor;
- (void)setHighlightTextUsingColor:(BOOL)fp8;
- (BOOL)affectsColorEvaluation;
- (int)autoResponseType;
- (void)setAutoResponseType:(int)fp8;
- (id)autoResponseRecipients;
- (void)setAutoResponseRecipients:(id)fp8;
- (id)responseMessage;
- (void)setResponseMessage:(id)fp8;
- (id)soundPath;
- (void)setSoundPath:(id)fp8;
- (id)speechAlert;
- (void)setSpeechAlert:(id)fp8;
- (BOOL)shouldStopEvaluatingRules;
- (void)setShouldStopEvaluatingRules:(BOOL)fp8;
- (BOOL)shouldNotifyUser;
- (void)setShouldNotifyUser:(BOOL)fp8;
- (BOOL)addInvitationAttachmentToICal;
- (void)setAddInvitationAttachmentToICal:(BOOL)fp8;
- (void)setIsICalRule:(BOOL)fp8;
- (BOOL)isICalRule;
- (void)updateToNewestVersion;
- (id)objectSpecifier;

@end

@interface MessageRule (Applescript)
- (void)updateIsActive;
- (int)actionColorMessage;
- (void)setActionColorMessage:(int)fp8;
- (int)highlightColorValue:(id)fp8;
- (BOOL)actionDeleteMessage;
- (void)setActionDeleteMessage:(BOOL)fp8;
- (id)actionForwardToAddress;
- (void)setActionForwardToAddress:(id)fp8;
- (id)actionForwardText;
- (void)setActionForwardText:(id)fp8;
- (BOOL)actionMarkAsFlagged;
- (void)setActionMarkAsFlagged:(BOOL)fp8;
- (BOOL)actionMarkAsRead;
- (void)setActionMarkAsRead:(BOOL)fp8;
- (id)actionPlaySound;
- (void)setActionPlaySound:(id)fp8;
- (id)actionRedirectToAddress;
- (void)setActionRedirectToAddress:(id)fp8;
- (id)actionReplyText;
- (void)setActionReplyText:(id)fp8;
- (id)actionRunApplescript;
- (void)setActionRunApplescript:(id)fp8;
- (id)ruleDescription;
- (void)setRuleDescription:(id)fp8;
- (void)insertInCriteria:(id)fp8 atIndex:(unsigned int)fp12;
- (void)insertInCriteria:(id)fp8;
- (void)removeFromCriteriaAtIndex:(unsigned int)fp8;
- (void)setAddress:(id)fp8 forResponseType:(int)fp12;
@end

@interface MessageRuleCriterion : MessageCriterion
{
    MessageRule *_rule;
}

- (void)setRuleType:(int)fp8;
- (void)setRuleQualifier:(int)fp8;
- (void)setRuleExpression:(id)fp8;
- (void)setMessageRule:(id)fp8;
- (void)setCriterionIdentifier:(id)fp8;
- (id)objectSpecifier;
- (BOOL)performPostSyncingValidation;

@end

@interface ExchangeConnection : IMAPConnection
{
}

- (id)_fetchArgumentForMessageUidsAndFlags;
- (id)_fetchArgumentForMessageSkeletonsWithHeaders:(id)fp8;
- (BOOL)_isFetchResponseValid:(id)fp8;

@end

@interface IMAPConnection : Connection
{
    id _delegate;
    id _mailboxListFilter;
    unsigned int _delegateShouldHandleUntaggedResponse:1;
    unsigned int _delegateDidReceiveResponse:1;
    unsigned int _delegateDidFinishSelect:1;
    unsigned int _delegateDidDisconnect:1;
    unsigned int _capabilityFlags:10;
    unsigned int _connectionState:3;
    NSString *_separatorChar;
    NSString *_serverPathPrefix;
    NSString *_selectedMailbox;
    NSMutableSet *_capabilities;
    unsigned int _commandNumber;
    NSMutableData *_data;
    unsigned int _readBufferSize;
    double _expirationTime;
}

+ (void)initialize;
+ (void)setReadSizeParameters;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (id)delegate;
- (void)setDelegate:(id)fp8;
- (id)mailboxListFilter;
- (void)setMailboxListFilter:(id)fp8;
- (BOOL)_doBasicConnectionUsingAccount:(id)fp8;
- (BOOL)connectUsingAccount:(id)fp8;
- (void)disconnectAndNotifyDelegate:(BOOL)fp8;
- (void)disconnect;
- (int)connectionState;
- (BOOL)isValid;
- (unsigned int)_sendCommands:(CDAnonymousStruct6 *)fp8 count:(unsigned int)fp12 response:(id *)fp16;
- (id)_copyNextServerResponseForCommand:(CDAnonymousStruct6 *)fp8;
- (id)_copyNextTaggedOrContinuationResponseForCommand:(CDAnonymousStruct6 *)fp8;
- (id)_errorForResponse:(id)fp8 commandParams:(CDAnonymousStruct6 *)fp12;
- (id)capabilities;
- (BOOL)supportsCapability:(int)fp8;
- (void)noop;
- (BOOL)authenticateUsingAccount:(id)fp8;
- (BOOL)loginWithAccount:(id)fp8 password:(id)fp12;
- (BOOL)logout;
- (id)separatorChar;
- (id)_doListCommand:(int)fp8 withReference:(id)fp12 mailboxName:(id)fp16 options:(int)fp20;
- (id)listingForMailbox:(id)fp8 options:(int)fp12;
- (id)subscribedListingForMailbox:(id)fp8 options:(int)fp12;
- (void)close;
- (void)closeAndLogout;
- (void)unselect;
- (BOOL)expunge;
- (BOOL)expungeUids:(id)fp8;
- (void)fetchStatusForMailboxes:(id)fp8 args:(id)fp12;
- (id)statusForMailbox:(id)fp8 args:(id)fp12;
- (BOOL)examineMailbox:(id)fp8;
- (BOOL)selectMailbox:(id)fp8;
- (id)selectedMailbox;
- (BOOL)createMailbox:(id)fp8;
- (BOOL)deleteMailbox:(id)fp8;
- (BOOL)renameMailbox:(id)fp8 toMailbox:(id)fp12;
- (void)fetchQuotaRootNamesForMailboxes:(id)fp8;
- (BOOL)getQuotaForRootName:(id)fp8;
- (BOOL)_sendMailboxCommand:(int)fp8 withArguments:(id)fp12;
- (id)searchUidSet:(id)fp8 forTerms:(id)fp12;
- (int)searchCount:(id)fp8;
- (id)searchUidSet:(id)fp8 forNewMessageIDs:(id)fp12;
- (BOOL)storeFlags:(id)fp8 state:(BOOL)fp12 forUids:(id)fp16;
- (BOOL)deleteMessagesOlderThanNumberOfDays:(int)fp8;
- (id)_responseFromSendingCommand:(CDAnonymousStruct6 *)fp8 andPossiblyCreateMailbox:(id)fp12;
- (BOOL)copyUids:(id)fp8 toMailboxNamed:(id)fp12 newMessageInfo:(id *)fp16;
- (BOOL)appendData:(id)fp8 toMailboxNamed:(id)fp12 flags:(id)fp16 dateReceived:(id)fp20 newMessageInfo:(id *)fp24;
- (id)_headersToFetchIncludingThoseRequiredForRouting:(BOOL)fp8;
- (id)fetchArgumentForMessageSkeletons;
- (void)fetchTotalSize:(unsigned long long *)fp8 andMessageCount:(unsigned int *)fp12;
- (id)fetchHeadersForUid:(unsigned long)fp8;
- (id)fetchInternalDateForUids:(id)fp8;
- (id)fetchMessageIDHeaderForUids:(id)fp8;
- (void)setReadBufferSizeFromElapsedTime:(double)fp8 bytesRead:(unsigned int)fp16;
- (unsigned int)readBufferSize;
- (void)setReadBufferSize:(unsigned int)fp8;
- (BOOL)_doUidFetchWithRange:(CDAnonymousStruct8)fp8 arguments:(id)fp16 validateMessage:(BOOL)fp20 responses:(id)fp24;
- (id)messageSetForRange:(CDAnonymousStruct8)fp8;
- (id)messageSetForNumbers:(id)fp8 range:(struct _NSRange)fp12;
- (id)parenthesizedStringWithObjects:(id)fp8;
- (BOOL)authenticateUsingAccount:(id)fp8 authenticator:(id)fp12;
- (BOOL)startTLSForAccount:(id)fp8;
- (void)lock;
- (id)description;

@end

@interface IMAPConnection (MFPrivate)
- (id)_readDataOfLength:(int)fp8;
- (id)_fetchArgumentForMessageUidsAndFlags;
- (id)_fetchArgumentForMessageSkeletonsWithHeaders:(id)fp8;
- (BOOL)_isFetchResponseValid:(id)fp8;
- (id)_responseFromSendingCommands:(CDAnonymousStruct6 *)fp8 count:(unsigned int)fp12;
- (void)didFinishCommands:(CDAnonymousStruct6 *)fp8 count:(unsigned int)fp12;
@end

@interface IMAPMessage : Message <NSCoding>
{
    unsigned int _size;
    CDAnonymousStruct11 _imapFlags;
    unsigned int _uid;
}

+ (void)initialize;
- (id)initWithFlags:(unsigned long)fp8 size:(unsigned int)fp12 uid:(unsigned long)fp16;
- (id)initWithCoder:(id)fp8;
- (void)encodeWithCoder:(id)fp8;
- (id)description;
- (unsigned int)messageSize;
- (id)messageID;
- (int)compareByNumberWithMessage:(id)fp8;
- (unsigned long)uid;
- (void)setUid:(unsigned long)fp8;
- (BOOL)isPartial;
- (void)setIsPartial:(BOOL)fp8;
- (BOOL)isMessageContentsLocallyAvailable;
- (BOOL)partsHaveBeenCached;
- (void)setPartsHaveBeenCached:(BOOL)fp8;
- (void)setPreferredEncoding:(unsigned long)fp8;
- (BOOL)hasTemporaryUid;
- (void)setHasTemporaryUid:(BOOL)fp8;
- (CDAnonymousStruct11)imapFlags;
- (id)mailboxName;
- (id)remoteID;

@end

@interface NSString (IMAPNameEncoding)
- (id)encodedIMAPMailboxName;
- (id)decodedIMAPMailboxName;
@end

@interface IMAPOfflineCopyOnStupidServerOperation : IMAPOperation
{
    struct __CFArray *messageIds;
    struct __CFArray *internalDates;
}

- (void)serializeIntoData:(id)fp8;
- (unsigned char)_magic;
- (void)_deserializeOpSpecificValuesFromData:(id)fp8 cursor:(unsigned int *)fp12;
- (void)dealloc;
- (void)finalize;
- (BOOL)getMessageId:(id *)fp8 andInternalDate:(id *)fp12 forDestinationUid:(unsigned int)fp16;
- (void)setMessageId:(id)fp8 andInternalDate:(id)fp12 forMessageWithSourceUid:(unsigned int)fp16;
- (void)expungeTemporaryUid:(unsigned int)fp8;
- (unsigned int)approximateSize;

@end

@interface IMAPOperation : NSObject
{
    unsigned int _type:8;
    unsigned int _temporaryUids:1;
    NSString *_mailboxName;
    union {
        struct {
            NSArray *trueFlags;
            NSArray *falseFlags;
            struct __CFArray *uids;
        } store;
        struct {
            unsigned int uid;
            NSArray *flags;
            int internalDate;
            unsigned int size;
        } append;
        struct {
            struct __CFArray *srcUids;
            struct __CFArray *dstUids;
            NSString *destinationMailbox;
        } copy;
    } _opSpecific;
}

+ (id)deserializeFromData:(id)fp8 cursor:(unsigned int *)fp12;
- (unsigned char)_magic;
- (void)_deserializeOpSpecificValuesFromData:(id)fp8 cursor:(unsigned int *)fp12;
- (void)serializeIntoData:(id)fp8;
- (id)initWithMailboxToCreate:(id)fp8;
- (id)initWithMailboxToDelete:(id)fp8;
- (id)initWithFlagsToSet:(id)fp8 flagsToClear:(id)fp12 forUids:(id)fp16 inMailbox:(id)fp20;
- (id)initWithUidsToCopy:(id)fp8 fromMailbox:(id)fp12 toMailbox:(id)fp16 firstNewUid:(unsigned int)fp20;
- (id)initWithAppendedUid:(unsigned int)fp8 approximateSize:(unsigned int)fp12 flags:(id)fp16 internalDate:(id)fp20 mailbox:(id)fp24;
- (void)dealloc;
- (void)finalize;
- (BOOL)isSourceOfTemporaryUid:(unsigned int)fp8;
- (BOOL)actsOnTemporaryUid:(unsigned int)fp8;
- (void)expungeTemporaryUid:(unsigned int)fp8;
- (unsigned int)firstTemporaryUid;
- (unsigned int)lastTemporaryUid;
- (int)operationType;
- (id)mailboxName;
- (unsigned int)approximateSize;
- (BOOL)usesRealUids;
- (void)setUsesRealUids:(BOOL)fp8;
- (id)flagsToSet;
- (id)flagsToClear;
- (id)uids;
- (id)flags;
- (id)internalDate;
- (unsigned int)uid;
- (id)sourceUids;
- (id)destinationUids;
- (id)destinationMailbox;
- (unsigned int)sourceUidForTemporaryUid:(unsigned int)fp8;
- (BOOL)getMessageId:(id *)fp8 andInternalDate:(id *)fp12 forDestinationUid:(unsigned int)fp16;
- (void)setMessageId:(id)fp8 andInternalDate:(id)fp12 forMessageWithSourceUid:(unsigned int)fp16;
- (id)description;

@end

@interface IMAPOperationCache : NSObject
{
    IMAPAccount *_account;
    NSFileHandle *_handle;
    NSMutableArray *_ops;
    unsigned int _lastUid;
    unsigned int _lastSave;
    unsigned int _lastUidValidity;
}

- (id)initWithIMAPAccount:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)account;
- (void)createMailbox:(id)fp8;
- (void)deleteMailbox:(id)fp8;
- (void)setFlags:(id)fp8 andClearFlags:(id)fp12 forMessages:(id)fp16;
- (void)setFlags:(id)fp8 andClearFlags:(id)fp12 forUids:(id)fp16 forMailbox:(id)fp20;
- (unsigned int)firstUidForCopyingMessages:(id)fp8 fromMailbox:(id)fp12 toMailbox:(id)fp16;
- (unsigned int)uidForAppendingMessageData:(id)fp8 withFlags:(id)fp12 andInternalDate:(id)fp16 toMailbox:(id)fp20;
- (void)expungeTemporaryUid:(unsigned int)fp8;
- (void)saveChanges;
- (unsigned int)numberOfPendingChanges;
- (BOOL)hasOperationsForMailbox:(id)fp8;
- (BOOL)connection:(id)fp8 shouldHandleUntaggedResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;
- (void)_performCreateOperation:(id)fp8 withContext:(CDAnonymousStruct12 *)fp12;
- (void)_performDeleteOperation:(id)fp8 withContext:(CDAnonymousStruct12 *)fp12;
- (void)_performStoreOperation:(id)fp8 withContext:(CDAnonymousStruct12 *)fp12;
- (void)_performAppendOperation:(id)fp8 withContext:(CDAnonymousStruct12 *)fp12;
- (void)_performCopyOperation:(id)fp8 withContext:(CDAnonymousStruct12 *)fp12;
- (void)performDeferredOperationsWithConnection:(id)fp8;
- (id)deferredOperations;

@end

@interface IMAPResponse : NSObject
{
    unsigned int _responseType:8;
    NSString *_tag;
    union _IMAPResponseData _data;
}

- (int)responseType;
- (void)setResponseType:(int)fp8;
- (BOOL)isUntagged;
- (BOOL)isAlertResponse;
- (id)tag;
- (void)setTag:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (int)responseCode;
- (id)responseInfo;
- (id)userData;
- (id)userString;
- (void)setUserData:(id)fp8 responseCode:(int)fp12 responseInfo:(id)fp16;
- (id)capabilities;
- (void)setCapabilities:(id)fp8;
- (unsigned long)number;
- (void)setNumber:(unsigned long)fp8;
- (id)flags;
- (void)setFlags:(id)fp8;
- (id)mailboxName;
- (id)statusEntries;
- (void)setMailboxName:(id)fp8 statusEntries:(id)fp12;
- (id)searchResults;
- (void)setSearchResults:(id)fp8;
- (unsigned long)mailboxAttributes;
- (id)separator;
- (void)setMailboxAttributes:(unsigned long)fp8 separator:(id)fp12 mailboxName:(id)fp16;
- (id)fetchResultWithType:(int)fp8;
- (id)fetchResults;
- (void)setFetchResults:(id)fp8;
- (id)quotaRootNames;
- (void)setMailboxName:(id)fp8 quotaRootNames:(id)fp12;
- (id)quotaRootName;
- (id)quotas;
- (void)setQuotaRootName:(id)fp8 quotas:(id)fp12;
- (int)uidFlagsChange;
- (void)setUidFlagsChange:(int)fp8;
- (id)uids;
- (void)setUids:(id)fp8;
- (id)flagsFetchResult;
- (void)setFlagsFetchResult:(id)fp8;
- (id)responseName;
- (id)parameters;
- (void)setResponseName:(id)fp8 parameters:(id)fp12;
- (id)description;
- (id)initWithConnection:(id)fp8;

@end

@interface POP3Connection : Connection
{
    NSMutableData *_sendBuffer;
    struct __CFDictionary *_listResults;
    NSData *_apopTimeStamp;
    id _delegate;
    unsigned int _numberOfMessagesAvailable:24;
    unsigned int _state:4;
    unsigned int _delegateRespondsToReceivedNumberOfBytes:1;
    unsigned int _delegateRespondsToWillRetrieveMessageNumber:1;
    unsigned int _delegateRespondsToDidRetrieveMessageNumber:1;
    unsigned int _hidingPassword:1;
}

- (id)init;
- (void)dealloc;
- (void)finalize;
- (id)capabilities;
- (id)authenticationMechanisms;
- (BOOL)_doBasicConnectionWithAccount:(id)fp8;
- (BOOL)connectUsingAccount:(id)fp8;
- (BOOL)authenticateUsingAccount:(id)fp8;
- (BOOL)authenticateUsingAccount:(id)fp8 authenticator:(id)fp12;
- (int)quit;
- (BOOL)supportsAPOP;
- (void)disableAPOP;
- (int)doStat;
- (int)list:(int)fp8;
- (int)_getListResults;
- (int)getMessageNumbers:(const struct __CFArray **)fp8 andMessageIdsByNumber:(const struct __CFDictionary **)fp12;
- (id)idForMessageNumber:(int)fp8;
- (id)_retrieveMessage:(unsigned long)fp8 ofSize:(unsigned int)fp12 informDelegate:(BOOL)fp16;
- (int)retr:(unsigned long)fp8;
- (int)dele:(unsigned long)fp8;
- (id)retainedMessageHeaderForMessageNumber:(unsigned long)fp8;
- (void)getTopOfMessageNumber:(unsigned long)fp8 intoMutableData:(id)fp12;
- (unsigned long)sizeOfMessageNumber:(unsigned long)fp8;
- (BOOL)messagesAvailable;
- (unsigned int)numberOfMessagesAvailable;
- (int)fetchMessages:(struct __CFArray *)fp8;
- (int)deleteMessagesOnServer:(struct __CFArray *)fp8;
- (void)setDelegate:(id)fp8;
- (id)delegate;
- (BOOL)startTLSForAccount:(id)fp8;

@end

@interface NSError (POP3ConnectionExtensions)
- (int)POP3ResponseCode;
@end

@interface POP3Connection (PrivateCommands)
- (int)_readMultilineResponseWithMaxSize:(int)fp8 intoMutableData:(id)fp12 informDelegate:(BOOL)fp16;
- (int)_sendCommand:(const char *)fp8 withArguments:(id)fp12;
- (id)copyReplyLineData;
- (int)_getStatusFromReply;
- (int)_apopWithUsername:(id)fp8 password:(id)fp12;
- (int)_user:(id)fp8;
- (int)_pass:(id)fp8;
@end

@interface POP3FetchStore : MessageStore
{
    BOOL _currentlyFetchingMessage;
    BOOL _lastConnectionFailed;
    unsigned int _numMessagesToFetch;
    unsigned int _numMessagesFetchedSoFar;
    unsigned int _sizeOfMessageBeingFetched;
    unsigned int _numBytesReceivedSoFar;
    unsigned int _totalBytesToFetch;
    unsigned int _totalBytesReceivedSoFar;
    struct __CFDictionary *_serverMessageIdsByNumber;
    struct __CFSet *_skippedMessageIds;
    struct __CFArray *_messageNumbersToDelete;
    int _activityMonitorKey;
    double _lastBatchStartTime;
    NSMutableArray *_messageRoutingBuffer;
    MessageRouter *_router;
    ActivityMonitor *_fetchingActivityMonitor;
}

- (id)initWithPOPAccount:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)mailboxUid;
- (BOOL)isOpened;
- (id)displayName;
- (void)fetchSynchronously;
- (void)deleteMessages:(id)fp8;
- (void)_backgroundFetchFailed:(id)fp8;
- (id)_fetchHeaderDataForMessage:(id)fp8;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)messageForMessageID:(id)fp8;
- (void)connection:(id)fp8 receivedNumberOfBytes:(int)fp12;
- (int)connection:(id)fp8 willRetrieveMessageNumber:(unsigned int)fp12 header:(id)fp16 size:(unsigned int)fp20;
- (id)_defaultRouterDestination;
- (void)writeUpdatedMessageDataToDisk;
- (void)messagesWereRouted:(id)fp8;
- (void)cancel;
- (void)waitForRoutingToFinish;
- (void)connection:(id)fp8 didRetrieveData:(id)fp12 forMessageNumber:(unsigned int)fp16;
- (void)messageFlagsDidChange:(id)fp8 flags:(id)fp12;

@end

@interface POPMessage : Message
{
    int _messageNumber;
    NSString *_messageID;
    NSData *_messageData;
}

- (id)initWithPOP3FetchStore:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (int)messageNumber;
- (void)setMessageNumber:(int)fp8;
- (id)messageData;
- (void)setMessageData:(id)fp8;
- (unsigned int)messageSize;
- (id)messageDataIncludingFromSpace:(BOOL)fp8;
- (id)messageID;
- (void)setMessageID:(id)fp8;

@end

@interface BerkeleyMbox : MessageStore
{
    NSData *_mboxData;
    NSString *_path;
}

+ (BOOL)storeExistsForPath:(id)fp8;
+ (BOOL)storeAtPathIsWritable:(id)fp8;
+ (BOOL)createEmptyStoreForPath:(id)fp8;
- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12;
- (id)initWithPath:(id)fp8 create:(BOOL)fp12 readOnly:(BOOL)fp16 account:(id)fp20;
- (void)dealloc;
- (void)finalize;
- (void)writeUpdatedMessageDataToDisk;
- (id)path;
- (id)_lockFilePath;
- (id)_mboxData;
- (void)_resetAllMessages;
- (id)_fetchHeaderDataForMessage:(id)fp8;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)_constructDeletedList;
- (void)doCompact;
- (BOOL)allowsIndexing;
- (id)_defaultRouterDestination;
- (void)fetchSynchronously;

@end

@interface NeXTMbox : MessageStore
{
    NSData *_mboxData;
    TableOfContents *_toc;
    float _compactThreshold;
    unsigned int _mboxIsOnSMB:1;
    unsigned int _haveUpdatedMetadata:1;
    NSData *_incomingMboxData;
    unsigned int _importMode:1;
}

+ (BOOL)createEmptyStoreForPath:(id)fp8;
+ (BOOL)storeAtPathIsWritable:(id)fp8;
+ (BOOL)cheapStoreAtPathIsEmpty:(id)fp8;
- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12;
- (void)dealloc;
- (void)finalize;
- (void)_releaseMboxData;
- (void)openSynchronouslyUpdatingMetadata:(BOOL)fp8;
- (id)incomingMessages;
- (id)messagesForImporter;
- (void)updateMetadata;
- (id)_lockFilePath;
- (void)_invalidate;
- (void)writeUpdatedMessageDataToDisk;
- (void)_rebuildTableOfContentsSynchronously;
- (void)_flushAllMessageData;
- (BOOL)tableOfContents:(id)fp8 loadedMessages:(id)fp12;
- (void)_resetAllMessages;
- (id)messageForMessageID:(id)fp8;
- (id)_fetchHeaderDataForMessage:(id)fp8;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (float)compactThreshold;
- (void)setCompactThreshold:(float)fp8;
- (BOOL)canCompact;
- (void)doCompact;
- (void)_deleteAttachments:(id)fp8;
- (id)_appendMessage:(id)fp8 toFile:(id)fp12;
- (void)_addIDsForAppendedMessages:(id)fp8 toArray:(id)fp12;
- (int)_appendMessages:(id)fp8 successes:(id *)fp12 failures:(id *)fp16 mboxName:(id)fp20 tableOfContents:(id)fp24;
- (BOOL)allowsAppend;
- (int)appendMessages:(id)fp8 unsuccessfulOnes:(id)fp12 newMessageIDs:(id)fp16 newMessages:(id)fp20;
- (int)undoAppendOfMessageIDs:(id)fp8;
- (void)_incorporateMailFromIncoming;
- (int)_writeMessagesToIncomingMail:(id)fp8 unsuccessfulOnes:(id)fp12 newMessageIDs:(id)fp16;
- (void)suggestSortOrder:(id)fp8 ascending:(BOOL)fp12;
- (id)sortOrder;
- (BOOL)isSortedAscending;
- (BOOL)_shouldCallCompactWhenClosing;

@end

@interface TableOfContents : NSObject
{
    BOOL _isValid;
    NSMutableArray *_messages;
    NSString *_path;
    NSData *_data;
    unsigned int _pos;
    CDAnonymousStruct1 _header;
    NSMutableDictionary *_messageIDMap;
    BOOL _isDirty;
}

- (BOOL)_checkHeader;
- (BOOL)loadCacheFromFileUsingUniqueStrings:(id)fp8;
- (BOOL)loadCacheFromFileUsingUniqueStrings:(id)fp8 messageStore:(id)fp12;
- (void)appendHeader:(CDAnonymousStruct1)fp8 toData:(id)fp40;
- (id)appendCachedDataToData:(id)fp8;
- (void)setTimeStamp:(long)fp8;
- (id)init;
- (id)initWithPath:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (BOOL)isDirty;
- (BOOL)isValid;
- (void)forceValidityToYES;
- (id)storePath;
- (void)rebuildCacheFromMessages:(id)fp8;
- (unsigned int)count;
- (id)messages;
- (void)removeMessage:(id)fp8;
- (void)_addMessageToMap:(id)fp8;
- (void)addMessage:(id)fp8;
- (void)addMessages:(id)fp8;
- (id)description;
- (BOOL)flushToFile;
- (id)messageForMessageID:(id)fp8;
- (id)sortOrder;
- (void)setSortOrder:(id)fp8 ascending:(BOOL)fp12;
- (BOOL)isSortedAscending;
- (BOOL)isSortedByDateReceived;
- (void)sort;

@end

@interface TOCMessage : Message
{
    struct _NSRange _mboxRange;
    NSString *_attachments;
    NSString *_messageID;
    BOOL isInIncomingMail;
}

+ (id)messageIDForSender:(id)fp8 subject:(id)fp12 dateAsTimeInterval:(double)fp16;
- (id)initWithMessage:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (unsigned int)loadCachedInfoFromBytes:(const char *)fp8 length:(unsigned int)fp12 isDirty:(char *)fp16 usingUniqueStrings:(id)fp20;
- (id)cachedData;
- (struct _NSRange)mboxRange;
- (void)setMboxRange:(struct _NSRange)fp8;
- (id)attachment;
- (id)messageID;
- (int)compareByNumberWithMessage:(id)fp8;
- (unsigned int)messageSize;
- (id)description;
- (id)remoteID;

@end

@interface NSDate (toc_extension)
- (int)tocSillyDateInt;
@end

@interface Message : NSObject
{
    MessageStore *_store;
    unsigned int _messageFlags;
    CDAnonymousStruct3 _flags;
    unsigned int _preferredEncoding;
    NSString *_senderAddressComment;
    unsigned int _dateSentInterval;
    unsigned int _dateReceivedInterval;
    unsigned int _dateLastViewedInterval;
    NSString *_subject;
    unsigned char _subjectPrefixLength;
    NSString *_to;
    NSString *_sender;
    NSData *_messageIDHeaderDigest;
    NSData *_inReplyToHeaderDigest;
}

+ (void)initialize;
+ (id)verboseVersion;
+ (id)frameworkVersion;
+ (void)setUserAgent:(id)fp8;
+ (id)userAgent;
+ (id)messageWithRFC822Data:(id)fp8;
+ (id)forwardedMessagePrefixWithSpacer:(BOOL)fp8;
+ (id)replyPrefixWithSpacer:(BOOL)fp8;
+ (unsigned int)validatePriority:(int)fp8;
+ (unsigned int)displayablePriorityForPriority:(int)fp8;
+ (id)messageWithPersistentID:(id)fp8;
- (id)init;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (id)messageStore;
- (void)setMessageStore:(id)fp8;
- (id)mailbox;
- (id)headers;
- (id)headersIfAvailable;
- (unsigned long)messageFlags;
- (void)setMessageFlags:(unsigned long)fp8;
- (id)messageBody;
- (id)messageBodyIfAvailable;
- (id)messageBodyUpdatingFlags:(BOOL)fp8;
- (id)messageBodyIfAvailableUpdatingFlags:(BOOL)fp8;
- (id)messageDataIncludingFromSpace:(BOOL)fp8;
- (BOOL)colorHasBeenEvaluated;
- (id)color;
- (void)setColor:(id)fp8;
- (void)setColorHasBeenEvaluated:(BOOL)fp8;
- (void)setColor:(id)fp8 hasBeenEvaluated:(BOOL)fp12 flags:(unsigned long)fp16;
- (void)dealloc;
- (void)finalize;
- (unsigned int)messageSize;
- (id)attributedString;
- (id)preferredEmailAddressToReplyWith;
- (id)messageID;
- (id)messageIDHeaderDigest;
- (void)unlockedSetMessageIDHeaderDigest:(id)fp8;
- (void)setMessageIDHeaderDigest:(id)fp8;
- (id)_messageIDHeaderDigestIvar;
- (BOOL)needsMessageIDHeader;
- (id)inReplyToHeaderDigest;
- (void)unlockedSetInReplyToHeaderDigest:(id)fp8;
- (void)setInReplyToHeaderDigest:(id)fp8;
- (id)_inReplyToHeaderDigestIvar;
- (int)compareByNumberWithMessage:(id)fp8;
- (BOOL)isMessageContentsLocallyAvailable;
- (id)headersForIndexingIncludingFullNamesAndDomains:(BOOL)fp8;
- (id)headersForIndexing;
- (id)headersForJunk;
- (id)stringForIndexingGettingHeadersIfAvailable:(id *)fp8 forJunk:(BOOL)fp12 updateBodyFlags:(BOOL)fp16;
- (id)stringForIndexingGettingHeadersIfAvailable:(id *)fp8 forJunk:(BOOL)fp12;
- (id)stringForIndexingGettingHeadersIfAvailable:(id *)fp8;
- (id)stringForIndexing;
- (id)stringForIndexingUpdatingBodyFlags:(BOOL)fp8;
- (id)stringForJunk;
- (unsigned int)numberOfAttachments;
- (int)junkMailLevel;
- (void)setPriorityFromHeaders:(id)fp8;
- (int)priority;
- (unsigned long)preferredEncoding;
- (void)setPreferredEncoding:(unsigned long)fp8;
- (id)rawSourceFromHeaders:(id)fp8 body:(id)fp12;
- (BOOL)_doesDateAppearToBeSane:(id)fp8;
- (id)_dateFromReceivedHeadersInHeaders:(id)fp8;
- (id)_dateFromDateHeaderInHeaders:(id)fp8;
- (void)_setDateReceivedFromHeaders:(id)fp8;
- (void)_setDateSentFromHeaders:(id)fp8;
- (void)loadCachedHeaderValuesFromHeaders:(id)fp8;
- (id)subjectAndPrefixLength:(unsigned int *)fp8;
- (id)subjectNotIncludingReAndFwdPrefix;
- (id)subject;
- (void)setSubject:(id)fp8;
- (id)dateReceived;
- (id)dateSent;
- (void)setDateReceivedTimeIntervalSince1970:(double)fp8;
- (double)dateReceivedAsTimeIntervalSince1970;
- (BOOL)needsDateReceived;
- (double)dateSentAsTimeIntervalSince1970;
- (void)setDateSentTimeIntervalSince1970:(double)fp8;
- (id)dateLastViewed;
- (double)dateLastViewedAsTimeIntervalSince1970;
- (id)sender;
- (void)setSender:(id)fp8;
- (id)senderAddressComment;
- (id)to;
- (void)setTo:(id)fp8;
- (void)setMessageInfo:(id)fp8 to:(id)fp12 sender:(id)fp16 dateReceivedTimeIntervalSince1970:(double)fp20 dateSentTimeIntervalSince1970:(double)fp28 messageIDHeaderDigest:(id)fp36 inReplyToHeaderDigest:(id)fp40;
- (void)setMessageInfo:(id)fp8 to:(id)fp12 sender:(id)fp16 dateReceivedTimeIntervalSince1970:(double)fp20 dateSentTimeIntervalSince1970:(double)fp28 messageIDHeaderDigest:(id)fp36 inReplyToHeaderDigest:(id)fp40 dateLastViewedTimeIntervalSince1970:(double)fp44;
- (void)setMessageInfoFromMessage:(id)fp8;
- (id)references;
- (id)remoteID;
- (unsigned long)uid;
- (CDAnonymousStruct3)moreMessageFlags;
- (id)path;
- (id)account;
- (void)markAsViewed;
- (id)persistentID;
- (id)bodyData;
- (id)headerData;
- (id)dataForMimePart:(id)fp8;
- (id)matadorAttributes;

@end

@interface MessageBody : NSObject
{
    Message *_message;
}

- (id)rawData;
- (id)attributedString;
- (BOOL)isHTML;
- (BOOL)isRich;
- (id)stringValueForJunkEvaluation:(BOOL)fp8;
- (void)setMessage:(id)fp8;
- (id)message;
- (void)calculateNumberOfAttachmentsIfNeeded;
- (void)calculateNumberOfAttachmentsDecodeIfNeeded;
- (id)attachments;
- (id)textHtmlPart;
- (id)webArchive;
- (void)dealloc;

@end

@interface MessageHeaders : NSObject <NSCopying>
{
    NSData *_data;
    unsigned int _preferredEncoding;
}

+ (id)localizedHeaders;
+ (id)localizedHeadersFromEnglishHeaders:(id)fp8;
+ (id)englishHeadersFromLocalizedHeaders:(id)fp8;
- (id)initWithHeaderData:(id)fp8 encoding:(unsigned long)fp12;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (void)dealloc;
- (void)finalize;
- (id)mutableCopy;
- (id)headerData;
- (unsigned long)preferredEncoding;
- (void)setPreferredEncoding:(unsigned long)fp8;
- (BOOL)_isStructuredHeaderKey:(id)fp8;
- (id)attributedStringShowingHeaderDetailLevel:(int)fp8;
- (id)headersDictionaryWithHeaderDetailLevel:(int)fp8;
- (id)allHeaderKeys;
- (void)_setCapitalizedKey:(id)fp8 forKey:(id)fp12;
- (id)_capitalizedKeyForKey:(id)fp8;
- (id)_headerValueForKey:(id)fp8 offset:(unsigned int *)fp12;
- (id)_headerValueForKey:(id)fp8;
- (BOOL)hasHeaderForKey:(id)fp8;
- (id)headersForKey:(id)fp8;
- (id)firstHeaderForKey:(id)fp8;
- (id)_decodeHeaderKeysFromData:(id)fp8;
- (id)isoLatin1CharsetHint;
- (id)mailVersion;
- (BOOL)messageIsFromEntourage;
- (void)_appendAddressList:(id)fp8 toData:(id)fp12;
- (id)encodedHeaders;
- (id)encodedHeadersIncludingFromSpace:(BOOL)fp8;
- (void)_appendHeaderData:(id)fp8 andRecipients:(id)fp12 expandPrivate:(BOOL)fp16 includeComment:(BOOL)fp20;
- (void)appendHeaderData:(id)fp8 andRecipients:(id)fp12;
- (id)allRecipientsExpandPrivate:(BOOL)fp8 includeComment:(BOOL)fp12;
- (id)_encodedHeadersIncludingFromSpace:(BOOL)fp8;

@end

@interface MessageFlags : NSObject <NSCoding>
{
    unsigned int realFlags;
}

- (id)initWithCoder:(id)fp8;
- (void)encodeWithCoder:(id)fp8;

@end

@interface NSCoder (MFMessageFlags)
- (unsigned long)decodeMessageFlags;
@end

@interface OutgoingMessage : Message
{
    MessageBody *messageBody;
    MutableMessageHeaders *messageHeaders;
}

- (void)dealloc;
- (void)finalize;
- (id)messageStore;
- (id)messageBody;
- (id)messageBodyIfAvailable;
- (id)messageDataIncludingFromSpace:(BOOL)fp8;
- (id)mutableHeaders;
- (void)setMutableHeaders:(id)fp8;
- (id)headers;

@end

@interface _OutgoingMessageBody : MessageBody
{
    NSMutableData *rawData;
}

- (void)clearMessageWithoutReleasing;
- (void)dealloc;
- (void)finalize;
- (id)mutableData;
- (id)rawData;

@end

@interface MessageWriter : NSObject
{
    unsigned int _createsMimeAlternatives:1;
    unsigned int _createsRichText:1;
    unsigned int _createsPlainTextOnly:1;
    unsigned int _allows8BitMimeParts:1;
    unsigned int _allowsBinaryMimeParts:1;
    unsigned int _allowsAppleDoubleAttachments:1;
    unsigned int _signsOutput:1;
    unsigned int _encryptsOutput:1;
    unsigned int _writeImageSize:1;
    unsigned int _preferredEncoding;
}

- (id)init;
- (id)createDataForAttributedString:(id)fp8;
- (void)appendDataForMimePart:(id)fp8 toData:(id)fp12 withPartData:(id)fp16;
- (id)createBounceMessageForMessage:(id)fp8;
- (id)createMessageByRemovingAttachmentsFromMessage:(id)fp8;
- (id)createMessageWithAttributedString:(id)fp8 headers:(id)fp12;
- (id)createMessageWithHtmlString:(id)fp8 plainTextAlternative:(id)fp12 otherHtmlStringsAndAttachments:(id)fp16 headers:(id)fp20;
- (id)createMessageWithHtmlString:(id)fp8 attachments:(id)fp12 headers:(id)fp16;
- (id)createMessageWithBodyData:(id)fp8 headers:(id)fp12;
- (BOOL)createsMimeAlternatives;
- (void)setCreatesMimeAlternatives:(BOOL)fp8;
- (BOOL)createsPlainTextOnly;
- (void)setCreatesPlainTextOnly:(BOOL)fp8;
- (BOOL)createsRichText;
- (void)setCreatesRichText:(BOOL)fp8;
- (BOOL)allows8BitMimeParts;
- (void)setAllows8BitMimeParts:(BOOL)fp8;
- (BOOL)allowsBinaryMimeParts;
- (void)setAllowsBinaryMimeParts:(BOOL)fp8;
- (BOOL)allowsAppleDoubleAttachments;
- (void)setAllowsAppleDoubleAttachments:(BOOL)fp8;
- (unsigned long)preferredEncoding;
- (void)setPreferredEncoding:(unsigned long)fp8;
- (BOOL)signsOutput;
- (void)setSignsOutput:(BOOL)fp8;
- (BOOL)encryptsOutput;
- (void)setEncryptsOutput:(BOOL)fp8;
- (BOOL)writeImageSize;
- (void)setWriteImageSize:(BOOL)fp8;

@end

@interface MutableMessageHeaders : MessageHeaders
{
    NSMutableDictionary *_headersAdded;
    NSMutableArray *_headersRemoved;
}

- (id)mutableCopy;
- (void)dealloc;
- (void)finalize;
- (id)allHeaderKeys;
- (BOOL)hasHeaderForKey:(id)fp8;
- (id)_headerValueForKey:(id)fp8;
- (id)firstHeaderForKey:(id)fp8;
- (void)removeHeaderForKey:(id)fp8;
- (void)setHeader:(id)fp8 forKey:(id)fp12;
- (void)appendFromSpaceIfMissing;
- (void)_appendHeaderKey:(id)fp8 value:(id)fp12 toData:(id)fp16;
- (void)_appendAddedHeaderKey:(id)fp8 value:(id)fp12 toData:(id)fp16;
- (id)_encodedHeadersIncludingFromSpace:(BOOL)fp8;
- (void)setAddressList:(id)fp8 forKey:(id)fp12;

@end

@interface MimeBody : MessageBody
{
    MimePart *_topLevelPart;
    unsigned int _preferredTextEncoding;
    unsigned int _preferredAlternative:16;
    unsigned int _numAlternatives:16;
}

+ (void)initialize;
+ (id)versionString;
+ (id)createMimeBoundary;
- (id)init;
- (void)dealloc;
- (id)topLevelPart;
- (void)setTopLevelPart:(id)fp8;
- (unsigned long)preferredTextEncoding;
- (void)setPreferredTextEncoding:(unsigned long)fp8;
- (id)mimeType;
- (id)mimeSubtype;
- (id)partWithNumber:(id)fp8;
- (void)calculateNumberOfAttachmentsIfNeeded;
- (id)attachments;
- (BOOL)_isPossiblySignedOrEncrypted;
- (void)calculateNumberOfAttachmentsDecodeIfNeeded;
- (BOOL)isHTML;
- (BOOL)isRich;
- (id)attributedString;
- (id)stringValueForJunkEvaluation:(BOOL)fp8;
- (int)numberOfAlternatives;
- (void)setPreferredAlternative:(int)fp8;
- (int)preferredAlternative;
- (id)preferredBodyPart;
- (id)textHtmlPart;
- (id)webArchive;

@end

@interface MimePart : NSObject
{
    NSString *_type;
    NSString *_subtype;
    NSMutableDictionary *_bodyParameters;
    NSString *_contentTransferEncoding;
    NSMutableDictionary *_otherIvars;
    struct _NSRange _range;
    id _parentOrBody;
    MimePart *_nextPart;
}

+ (void)initialize;
- (void)dealloc;
- (void)finalize;
- (id)init;
- (id)type;
- (void)setType:(id)fp8;
- (id)subtype;
- (void)setSubtype:(id)fp8;
- (id)bodyParameterForKey:(id)fp8;
- (void)setBodyParameter:(id)fp8 forKey:(id)fp12;
- (id)bodyParameterKeys;
- (id)contentTransferEncoding;
- (void)setContentTransferEncoding:(id)fp8;
- (id)disposition;
- (void)setDisposition:(id)fp8;
- (id)dispositionParameterForKey:(id)fp8;
- (void)setDispositionParameter:(id)fp8 forKey:(id)fp12;
- (id)dispositionParameterKeys;
- (id)contentDescription;
- (void)setContentDescription:(id)fp8;
- (id)contentID;
- (void)setContentID:(id)fp8;
- (id)contentLocation;
- (void)setContentLocation:(id)fp8;
- (id)languages;
- (void)setLanguages:(id)fp8;
- (id)parentPart;
- (id)firstChildPart;
- (id)nextSiblingPart;
- (id)subparts;
- (id)subpartAtIndex:(int)fp8;
- (void)setSubparts:(id)fp8;
- (void)addSubpart:(id)fp8;
- (struct _NSRange)range;
- (void)setRange:(struct _NSRange)fp8;
- (id)bodyData;
- (id)mimeBody;
- (void)setMimeBody:(id)fp8;
- (id)description;
- (id)attachmentFilename;
- (BOOL)hasCachedDataInStore;
- (unsigned int)numberOfAttachments;
- (void)getNumberOfAttachments:(unsigned int *)fp8 isSigned:(char *)fp12 isEncrypted:(char *)fp16;
- (id)attachments;
- (unsigned long)textEncoding;
- (unsigned int)approximateRawSize;
- (BOOL)isReadableText;
- (BOOL)isAttachment;
- (BOOL)isRich;
- (BOOL)isHTML;
- (BOOL)usesKnownSignatureProtocol;
- (id)attributedString;
- (id)fileWrapper;
- (void)configureFileWrapper:(id)fp8;
- (id)stringValueForJunkEvaluation:(BOOL)fp8;
- (id)startPart;
- (int)numberOfAlternatives;
- (id)alternativeAtIndex:(int)fp8;
- (id)signedData;
- (id)textHtmlPart;
- (id)webArchive;
- (id)decryptedMessageBody;
- (void)clearCachedDescryptedMessageBody;
- (void)_setDecryptedMessageBody:(id)fp8;

@end

@interface MimePart (DecodingSupport)
- (id)_fullMimeTypeEvenInsideAppleDouble;
- (id)contentsForTextSystem;
- (id)decodeTextPlain;
- (id)decodeText;
- (id)decodeTextRichtext;
- (id)decodeTextEnriched;
- (id)decodeTextHtml;
- (id)decodeTextCalendar;
- (id)decodeMultipart;
- (id)decodeMultipartAlternative;
- (id)decodeMultipartFolder;
- (id)decodeApplicationOctet_stream;
- (id)decodeApplicationZip;
- (id)decodeMessageDelivery_status;
- (id)decodeMessageRfc822;
- (id)decodeMessagePartial;
- (id)decodeMessageExternal_body;
- (id)decodeApplicationMac_binhex40;
- (id)decodeApplicationApplefile;
- (id)decodeMultipartAppledouble;
@end

@interface MimePart (IMAPSupport)
- (BOOL)parseIMAPPropertyList:(id)fp8;
- (id)partNumber;
@end

@interface MimePart (MessageSupport)
- (void)_fixSubparts;
- (BOOL)parseMimeBody;
@end

@interface NSMutableData (MimeDataEncoding)
- (void)appendQuotedPrintableDataForHeaderBytes:(const char *)fp8 length:(unsigned int)fp12;
@end

@interface NSData (MimeDataEncoding)
+ (unsigned int)quotedPrintableLengthOfHeaderBytes:(const char *)fp8 length:(unsigned int)fp12;
- (id)decodeQuotedPrintableForText:(BOOL)fp8;
- (id)encodeQuotedPrintableForText:(BOOL)fp8;
- (id)encodeQuotedPrintableForText:(BOOL)fp8 allowCancel:(BOOL)fp12;
- (id)decodeBase64;
- (BOOL)isValidBase64Data;
- (id)encodeBase64WithoutLineBreaks;
- (id)encodeBase64;
- (id)encodeBase64AllowCancel:(BOOL)fp8;
- (id)decodeModifiedBase64;
- (id)encodeModifiedBase64;
- (id)encodeBase64HeaderData;
@end

@interface MimeEnrichedReader : NSObject
{
    CDAnonymousStruct10 _inputBuffer;
    int _currentIndex;
    int _inputLength;
    unsigned int _noFillLevel:30;
    unsigned int _eatOneNewline:1;
    unsigned int _insideComment:1;
    struct __CFArray *_commandStack;
    id _outputString;
    NSMutableString *_outputBuffer;
    float _indentWidth;
}

+ (id)punctuationSet;
+ (id)parenSet;
- (void)mismatchError:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (void)appendStringToBuffer:(id)fp8;
- (void)resetStateWithString:(id)fp8 outputString:(id)fp12;
- (void)nowWouldBeAGoodTimeToAppendToTheAttributedString;
- (void)handleNoParameterCommand:(const CDAnonymousStruct4 *)fp8;
- (void)setupFontStackEntry:(struct _CommandStackEntry *)fp8;
- (void)setupRulerStackEntry:(struct _CommandStackEntry *)fp8;
- (void)beginCommand:(id)fp8;
- (void)endCommand:(id)fp8;
- (void)parseParameterString:(id)fp8;
- (id)currentFont;
- (id)currentParagraphStyle;
- (int)readTokenInto:(id *)fp8;
- (void)convertRichTextString:(id)fp8 intoOutputString:(id)fp12;
- (void)convertEnrichedString:(id)fp8 intoOutputString:(id)fp12;

@end

@interface NSString (MimeEnrichedReader)
+ (id)stringFromMimeEnrichedString:(id)fp8;
@end

@interface NSAttributedString (MimeEnrichedReader)
+ (id)attributedStringFromMimeRichTextString:(id)fp8 attributes:(id)fp12;
+ (id)attributedStringFromMimeEnrichedString:(id)fp8 attributes:(id)fp12;
@end

@interface MimeEnrichedWriter : NSObject
{
    NSAttributedString *_attributedString;
    NSString *_string;
    CDAnonymousStruct10 _stringBuffer;
    NSFont *_defaultFont;
    NSFont *_defaultFixedPitchFont;
    float _defaultPointSize;
    struct _CommandStackEntry *_commandStack;
    struct _CommandStackEntry *_topOfStack;
    struct EnrichedState _currentState;
    unsigned int _currentLineStart;
    unsigned int _lastSpace;
}

+ (void)initialize;
- (void)setState:(struct EnrichedState *)fp8 fromAttributes:(id)fp12;
- (void)setState:(struct EnrichedState *)fp8 fromStackEntry:(struct _CommandStackEntry *)fp12;
- (void)dealloc;
- (void)finalize;
- (id)convertAttributedString:(id)fp8;
- (void)updateOutput:(id)fp8 forAttributes:(id)fp12 range:(struct _NSRange)fp16;
- (void)appendTextFromRange:(struct _NSRange)fp8 toString:(id)fp16;

@end

@interface NSAttributedString (MimeEnrichedWriter)
- (id)enrichedString;
@end

@interface NSMutableData (RFC2231Support)
- (void)appendRFC2231CompliantValue:(id)fp8 forKey:(id)fp12;
@end

@interface NSMutableDictionary (RFC2231Support)
- (void)fixupRFC2231Values;
@end

@interface NSString (MimeHeaderEncoding)
- (id)encodedHeaderData;
- (id)encodedHeaderDataWithEncodingHint:(unsigned long)fp8;
- (id)decodeMimeHeaderValue;
- (id)decodeMimeHeaderValueWithCharsetHint:(id)fp8;
@end

@interface MimeTextAttachment : NSTextAttachment
{
    MimePart *_mimePart;
}

+ (id)attachmentWithInternalAppleAttachmentData:(id)fp8 mimeBody:(id)fp12;
- (void)dealloc;
- (void)finalize;
- (id)initWithMimePart:(id)fp8;
- (id)initWithMimePart:(id)fp8 andFileWrapper:(id)fp12;
- (id)mimePart;
- (void)setMimePart:(id)fp8;
- (unsigned int)approximateSize;
- (BOOL)isPlaceholder;
- (BOOL)hasBeenDownloaded;
- (BOOL)shouldDownloadAttachmentOnDisplay;

@end

@interface NSTextAttachment (MimeSupport)
- (unsigned int)approximateSize;
- (id)mimePart;
- (BOOL)hasBeenDownloaded;
- (BOOL)isPlaceholder;
- (BOOL)shouldDownloadAttachmentOnDisplay;
- (id)internalAppleAttachmentData;
@end

@interface FormatFlowedWriter : NSObject
{
    NSAttributedString *_inputAttrString;
    NSString *_inputString;
    unsigned int _encoding;
    NSMutableString *_outputString;
    unsigned int _addedTrailingSpaces:1;
    unsigned int _quoteLevel:31;
    struct _NSRange _paraRange;
    NSMutableString *_lineString;
    NSMutableAttributedString *_attrString;
}

+ (id)newWithAttributedString:(id)fp8 encoding:(unsigned long)fp12;
- (void)dealloc;
- (unsigned int)_findLineBreakInRange:(struct _NSRange)fp8 maxCharWidthCount:(unsigned int)fp16;
- (void)_outputQuotedParagraph;
- (id)outputString;
- (BOOL)addedTrailingSpaces;

@end

@interface NSAttributedString (FormatFlowedSupport)
- (void)getFormatFlowedString:(id *)fp8 insertedTrailingSpaces:(char *)fp12 encoding:(unsigned long)fp16;
@end

@interface NSString (FormatFlowedSupport)
- (id)convertFromFlowedText:(unsigned int)fp8;
@end

@interface MessageHTMLConverter : NSObject
{
    WebView *_webView;
    NSPort *_replyPort;
    unsigned int _sequenceNumber:31;
    unsigned int _outputHtml:1;
    id _result;
    int _numberOfCharacters;
    int _numberOfImages;
}

+ (id)sharedInstance;
- (void)handlePortMessage:(id)fp8;
- (void)_startLoadingStringFromHTMLData:(id)fp8 textEncodingName:(id)fp12;
- (id)init;
- (id)stringFromHTMLData:(id)fp8 textEncodingName:(id)fp12 numberOfImages:(int *)fp16 numberOfCharacters:(int *)fp20;
- (id)stringFromHTMLData:(id)fp8 textEncodingName:(id)fp12;
- (id)_copyAttributedStringFromData:(id)fp8 textEncodingName:(id)fp12;
- (id)attributedStringFromHTMLData:(id)fp8 textEncodingName:(id)fp12;
- (id)htmlStringFromHTMLData:(id)fp8 textEncodingName:(id)fp12;
- (void)dealloc;
- (void)finalize;
- (void)webView:(id)fp8 didStartProvisionalLoadForFrame:(id)fp12;
- (void)webView:(id)fp8 locationChangeDone:(id)fp12 forDataSource:(id)fp16;
- (void)webView:(id)fp8 didFailProvisionalLoadWithError:(id)fp12 forFrame:(id)fp16;
- (void)webView:(id)fp8 didFinishLoadForFrame:(id)fp12;
- (void)webView:(id)fp8 didFailLoadWithError:(id)fp12 forFrame:(id)fp16;
- (id)webView:(id)fp8 identifierForInitialRequest:(id)fp12 fromDataSource:(id)fp16;
- (id)webView:(id)fp8 resource:(id)fp12 willSendRequest:(id)fp16 redirectResponse:(id)fp20 fromDataSource:(id)fp24;
- (void)webView:(id)fp8 decidePolicyForNavigationAction:(id)fp12 request:(id)fp16 frame:(id)fp20 decisionListener:(id)fp24;

@end

@interface MessageURLProtocol : NSURLProtocol
{
}

+ (void)initialize;
+ (BOOL)canInitWithRequest:(id)fp8;
+ (id)canonicalRequestForRequest:(id)fp8;
+ (BOOL)requestIsCacheEquivalent:(id)fp8 toRequest:(id)fp12;
- (void)startLoading;
- (void)stopLoading;

@end

@interface WebMessageDocument : NSObject
{
    NSDictionary *_partsByURL;
    NSURL *_baseURL;
    MimeBody *_mimeBody;
    MimePart *_htmlPart;
    NSData *_htmlData;
    unsigned int _preferredCharset;
    unsigned int _uniqueId:30;
    unsigned int _downloadRemoteURLs:1;
    unsigned int _containsRemoteContent:1;
    BOOL _messageIsFromEntourage;
}

+ (id)openDocuments;
+ (id)invalidBaseURL;
+ (id)documentWithUniqueIdentifier:(unsigned int)fp8;
- (void)dealloc;
- (void)finalize;
- (id)init;
- (id)initWithMimeBody:(id)fp8;
- (id)initWithMimePart:(id)fp8;
- (id)mimePartForURL:(id)fp8;
- (id)mimeBody;
- (id)baseURL;
- (void)setPreferredEncoding:(unsigned long)fp8;
- (id)preferredCharacterSet;
- (unsigned int)uniqueIdentifier;
- (id)htmlData;
- (id)fileWrapper;
- (void)setDownloadRemoteURLs:(BOOL)fp8;
- (BOOL)downloadRemoteURLs;
- (void)setContainsRemoteContent:(BOOL)fp8;
- (BOOL)containsRemoteContent;
- (void)setMessageIsFromEntourage:(BOOL)fp8;
- (BOOL)messageIsFromEntourage;

@end

@interface Account : NSObject <SyncableDataOwner>
{
    NSMutableDictionary *_info;
    unsigned int _isOffline:1;
    unsigned int _willingToGoOnline:1;
    unsigned int _autosynchronizingEnabled:1;
    unsigned int _ignoreSSLCertificates:1;
    unsigned int _promptedToIgnoreSSLCertificates:1;
    unsigned int _isActive:2;
}

+ (void)initialize;
+ (BOOL)haveAccountsBeenConfigured;
+ (id)readAccountsUsingDefaultsKey:(id)fp8 forceReadFromMailPreferences:(BOOL)fp12;
+ (id)readAccountsUsingDefaultsKey:(id)fp8;
+ (void)saveAccounts:(id)fp8 usingDefaultsKey:(id)fp12;
+ (void)saveAccountInfoToDefaults;
+ (id)accountsVersion;
+ (id)createAccountWithDictionary:(id)fp8;
+ (id)accountTypeString;
+ (id)_meCardFromMacBuddyPlistFile;
+ (id)myFullName;
+ (BOOL)allObjectsInArrayAreOffline:(id)fp8;
+ (void)_loadISPPlistsAtPath:(id)fp8;
+ (id)_ispPlist;
+ (id)ISPAccounts;
+ (id)ISPReceivingAccountTypes;
+ (id)ISPDeliveryAccountTypes;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (void)setAutosynchronizingEnabled:(BOOL)fp8;
- (void)_queueAccountInfoDidChange;
- (id)accountInfo;
- (void)_setAccountInfo:(id)fp8;
- (void)setAccountInfo:(id)fp8;
- (id)defaultsDictionary;
- (void)updateFromSyncedDictionary:(id)fp8;
- (BOOL)isActive;
- (void)setIsActive:(BOOL)fp8;
- (BOOL)isInactivatedInsteadOfBeingDeleted;
- (void)setInactivatedInsteadOfBeingDeleted:(BOOL)fp8;
- (BOOL)canGoOffline;
- (BOOL)isOffline;
- (void)setIsOffline:(BOOL)fp8;
- (BOOL)isWillingToGoOnline;
- (void)setIsWillingToGoOnline:(BOOL)fp8;
- (id)displayName;
- (void)setDisplayName:(id)fp8;
- (id)username;
- (void)setUsername:(id)fp8;
- (id)hostname;
- (void)setHostname:(id)fp8;
- (void)setPasswordInKeychain:(id)fp8;
- (void)_removePasswordInKeychain;
- (void)setTemporaryPassword:(id)fp8;
- (void)setPassword:(id)fp8;
- (id)passwordFromStoredUserInfo;
- (id)passwordFromKeychain;
- (id)password;
- (id)promptUserForPasswordWithMessage:(id)fp8;
- (id)promptUserIfNeededForPasswordWithMessage:(id)fp8;
- (unsigned int)portNumber;
- (unsigned int)defaultPortNumber;
- (unsigned int)defaultSecurePortNumber;
- (void)setPortNumber:(unsigned int)fp8;
- (id)serviceName;
- (id)secureServiceName;
- (void)releaseAllConnections;
- (void)validateConnections;
- (BOOL)usesSSL;
- (void)setUsesSSL:(BOOL)fp8;
- (id)domain;
- (void)setDomain:(id)fp8;
- (void)accountInfoDidChange;
- (id)preferredAuthScheme;
- (void)setPreferredAuthScheme:(id)fp8;
- (id)saslProfileName;
- (Class)connectionClass;
- (BOOL)requiresAuthentication;
- (id)authenticatedConnection;
- (BOOL)_shouldTryDirectSSLConnectionOnPort:(unsigned int)fp8;
- (BOOL)_shouldRetryConnectionWithoutCertificateCheckingAfterError:(id)fp8;
- (BOOL)_connectAndAuthenticate:(id)fp8;
- (BOOL)_ignoreSSLCertificates;
- (void)_setIgnoreSSLCertificates:(BOOL)fp8;
- (id)ISPAccountID;
- (void)setISPAccountID:(id)fp8;
- (id)uniqueId;
- (id)nameForMailboxUid:(id)fp8;
- (BOOL)dataWillBeSyncedVersion:(id *)fp8 data:(id *)fp12;
- (BOOL)dataWasSyncedVersion:(id)fp8 newData:(id)fp12 acceptedChanges:(id)fp16;
- (void)updateAccountsFromPlist:(id)fp8 acceptedChanges:(id)fp12;

@end

@interface Account (Applescript)
- (int)accountType;
- (void)setAccountPassword:(id)fp8;
- (id)accountPassword;
- (void)setServerName:(id)fp8;
- (id)serverName;
- (void)setLoginName:(id)fp8;
- (id)loginName;
- (void)setAccountName:(id)fp8;
- (id)accountName;
- (int)customAuthentication;
- (void)setCustomAuthentication:(int)fp8;
@end

@interface ExchangeAccount : IMAPAccount
{
}

+ (id)accountTypeString;
+ (BOOL)usingActiveDirectory;
+ (id)outlookWebAccessServer;
+ (void)setOutlookWebAccessServer:(id)fp8;
+ (id)exchangeServer;
+ (void)setExchangeServer:(id)fp8;
+ (id)activeDirectoryUser;
+ (void)setActiveDirectoryUser:(id)fp8;
+ (id)activeDirectoryPassword;
+ (void)setActiveDirectoryPassword:(id)fp8;
+ (id)activeDirectoryFullName;
+ (id)activeDirectoryEmailAddress;
- (Class)connectionClass;
- (BOOL)_syncOnly_defaultValueForShouldStoreJunkOnServer;
- (void)updateFromSyncedDictionary:(id)fp8;
- (BOOL)storeDraftsOnServer;
- (BOOL)storeSentMessagesOnServer;
- (BOOL)storeJunkOnServer;
- (id)_defaultSpecialMailboxNameForType:(int)fp8;
- (void)filterMailboxList:(id)fp8 forMailbox:(id)fp12 options:(int)fp16;
- (id)_nonMailboxChildrenOfMailboxWithPath:(id)fp8 iisServer:(id)fp12;
- (void)_filterMailboxList:(id)fp8 forMailboxWithPath:(id)fp12 iisServer:(id)fp16;
- (id)hostname;
- (void)setHostname:(id)fp8;
- (id)username;
- (void)setUsername:(id)fp8;
- (id)passwordFromStoredUserInfo;
- (id)passwordFromKeychain;
- (void)setPassword:(id)fp8;
- (void)setPasswordInKeychain:(id)fp8;
- (void)_removePasswordInKeychain;
- (id)defaultsDictionary;
- (void)handleOpenMailboxError:(id)fp8;

@end

@interface MailAccount : Account
{
    NSString *_path;
    MailboxUid *_rootMailboxUid;
    struct {
        unsigned int cacheDirtyCount:16;
        unsigned int synchronizationThreadIsRunning:1;
        unsigned int backgroundFetchInProgress:1;
        unsigned int cacheHasBeenRead:1;
        unsigned int disableCacheWrite:1;
        unsigned int _UNUSED_:12;
    } _flags;
    MailboxUid *_inboxMailboxUid;
    MailboxUid *_draftsMailboxUid;
    MailboxUid *_sentMessagesMailboxUid;
    MailboxUid *_trashMailboxUid;
    MailboxUid *_junkMailboxUid;
    MFError *_lastConnectionError;
}

+ (void)initialize;
+ (BOOL)mailboxListingNotificationAreEnabled;
+ (void)disableMailboxListingNotifications;
+ (void)enableMailboxListingNotifications:(BOOL)fp8;
+ (BOOL)haveAccountsBeenConfigured;
+ (void)_addAccountToSortedPaths:(id)fp8;
+ (id)mailAccounts;
+ (void)setMailAccounts:(id)fp8;
+ (void)_removeAccountFromSortedPaths:(id)fp8;
+ (id)activeAccounts;
+ (void)saveAccountInfoToDefaults;
+ (id)accountWithUniqueId:(id)fp8;
+ (id)existingAccountWithType:(id)fp8 hostname:(id)fp12 username:(id)fp16;
+ (id)allEmailAddressesIncludingFullUserName:(BOOL)fp8;
+ (id)_accountContainingEmailAddress:(id)fp8 matchingAddress:(id *)fp12 fullUserName:(id *)fp16;
+ (id)accountContainingEmailAddress:(id)fp8;
+ (id)accountForHeaders:(id)fp8 message:(id)fp12;
+ (id)accountUsingHeadersFromMessage:(id)fp8;
+ (id)accountThatMessageIsFrom:(id)fp8;
+ (id)addressesThatReceivedMessage:(id)fp8;
+ (id)accountThatReceivedMessage:(id)fp8 matchingEmailAddress:(id *)fp12 fullUserName:(id *)fp16;
+ (id)outboxMessageStore:(BOOL)fp8;
+ (id)specialMailboxUids;
+ (id)_specialMailboxUidsUsingSelector:(SEL)fp8;
+ (id)inboxMailboxUids;
+ (id)trashMailboxUids;
+ (id)outboxMailboxUids;
+ (id)sentMessagesMailboxUids;
+ (id)draftMailboxUids;
+ (id)junkMailboxUids;
+ (id)allMailboxUids;
+ (id)accountWithPath:(id)fp8;
+ (id)newAccountWithPath:(id)fp8;
+ (id)createAccountWithDictionary:(id)fp8;
+ (id)defaultPathForAccountWithHostname:(id)fp8 username:(id)fp12;
+ (id)defaultAccountDirectory;
+ (id)defaultPathNameForAccountWithHostname:(id)fp8 username:(id)fp12;
+ (id)defaultDeliveryAccount;
+ (BOOL)isAnyAccountOffline;
+ (BOOL)isAnyAccountOnline;
+ (void)_setOnlineStateOfAllAccountsTo:(BOOL)fp8;
+ (void)disconnectAllAccounts;
+ (void)connectAllAccounts;
+ (void)saveStateForAllAccounts;
+ (int)numberOfDaysToKeepLocalTrash;
+ (BOOL)allAccountsDeleteInPlace;
+ (void)synchronouslyEmptyMailboxUidType:(int)fp8 inAccounts:(id)fp12;
+ (void)resetAllSpecialMailboxes;
+ (id)mailboxUidForFileSystemPath:(id)fp8 create:(BOOL)fp12;
+ (void)deleteMailboxUidIfEmpty:(id)fp8;
+ (id)_accountForURL:(id)fp8 includeInactiveAccounts:(BOOL)fp12;
+ (id)_accountForURL:(id)fp8;
+ (id)infoForURL:(id)fp8;
+ (id)URLForInfo:(id)fp8;
+ (id)accountWithURLString:(id)fp8;
+ (id)accountWithURLString:(id)fp8 includeInactiveAccounts:(BOOL)fp12;
+ (id)mailboxUidForURL:(id)fp8;
+ (void)renameMailboxesUsingDefaultSecurePorts;
- (BOOL)isValidAccountWithError:(id)fp8 accountBeingEdited:(id)fp12 userCanOverride:(char *)fp16;
- (BOOL)cheapStoreAtPathIsEmpty:(id)fp8;
- (id)init;
- (id)initWithPath:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (void)updateFromSyncedDictionary:(id)fp8;
- (id)path;
- (void)setPath:(id)fp8;
- (id)tildeAbbreviatedPath;
- (id)applescriptFullUserName;
- (void)setApplescriptFullUserName:(id)fp8;
- (id)fullUserName;
- (void)setFullUserName:(id)fp8;
- (id)deliveryAccount;
- (void)setDeliveryAccount:(id)fp8;
- (void)deliveryAccountWillBeRemoved:(id)fp8;
- (BOOL)isDotMacAccount;
- (id)firstEmailAddress;
- (id)rawEmailAddresses;
- (id)emailAddresses;
- (id)applescriptEmailAddresses;
- (void)setApplescriptEmailAddresses:(id)fp8;
- (void)setEmailAddresses:(id)fp8;
- (id)emailAliases;
- (void)setEmailAliases:(id)fp8;
- (BOOL)shouldAutoFetch;
- (void)setShouldAutoFetch:(BOOL)fp8;
- (BOOL)fileManager:(id)fp8 shouldProceedAfterError:(id)fp12;
- (void)_synchronouslyInvalidateAndDelete:(BOOL)fp8;
- (void)deleteAccount;
- (void)saveState;
- (void)releaseAllConnections;
- (void)setIsOffline:(BOOL)fp8;
- (void)setIsWillingToGoOnline:(BOOL)fp8;
- (BOOL)canFetch;
- (id)defaultsDictionary;
- (void)nowWouldBeAGoodTimeToStartBackgroundSynchronization;
- (BOOL)canAppendMessages;
- (BOOL)canBeSynchronized;
- (void)synchronizeAllMailboxes;
- (void)fetchAsynchronously;
- (void)fetchSynchronously;
- (BOOL)isFetching;
- (void)newMailHasBeenReceived;
- (id)primaryMailboxUid;
- (id)rootMailboxUid;
- (id)draftsMailboxUidCreateIfNeeded:(BOOL)fp8;
- (id)junkMailboxUidCreateIfNeeded:(BOOL)fp8;
- (id)sentMessagesMailboxUidCreateIfNeeded:(BOOL)fp8;
- (id)trashMailboxUidCreateIfNeeded:(BOOL)fp8;
- (id)allMailboxUids;
- (void)setDraftsMailboxUid:(id)fp8;
- (void)setTrashMailboxUid:(id)fp8;
- (void)setJunkMailboxUid:(id)fp8;
- (void)setSentMessagesMailboxUid:(id)fp8;
- (void)deleteMessagesFromMailboxUid:(id)fp8 olderThanNumberOfDays:(unsigned int)fp12;
- (void)_setEmptyFrequency:(int)fp8 forKey:(id)fp12;
- (int)_emptyFrequencyForKey:(id)fp8 defaultValue:(id)fp12;
- (int)emptySentMessagesFrequency;
- (void)setEmptySentMessagesFrequency:(int)fp8;
- (int)emptyJunkFrequency;
- (void)setEmptyJunkFrequency:(int)fp8;
- (int)emptyTrashFrequency;
- (void)setEmptyTrashFrequency:(int)fp8;
- (BOOL)shouldMoveDeletedMessagesToTrash;
- (void)setShouldMoveDeletedMessagesToTrash:(BOOL)fp8;
- (void)emptySpecialMailboxesThatNeedToBeEmptiedAtQuit;
- (id)displayName;
- (id)displayNameForMailboxUid:(id)fp8;
- (BOOL)containsMailboxes;
- (BOOL)_resetSpecialMailboxes;
- (void)resetSpecialMailboxes;
- (id)mailboxPathExtension;
- (BOOL)canCreateNewMailboxes;
- (BOOL)newMailboxNameIsAcceptable:(id)fp8 reasonForFailure:(id *)fp12;
- (BOOL)canMailboxBeRenamed:(id)fp8;
- (BOOL)canMailboxBeDeleted:(id)fp8;
- (id)createMailboxWithParent:(id)fp8 name:(id)fp12;
- (BOOL)renameMailbox:(id)fp8 newName:(id)fp12 parent:(id)fp16;
- (BOOL)deleteMailbox:(id)fp8;
- (void)_resetAllMailboxURLs;
- (void)setUsername:(id)fp8;
- (void)setHostname:(id)fp8;
- (void)setPortNumber:(unsigned int)fp8;
- (void)accountInfoDidChange;
- (void)postUserInfoHasChangedForMailboxUid:(id)fp8 userInfo:(id)fp12;
- (void)setConnectionError:(id)fp8;
- (id)connectionError;
- (id)storeForMailboxUid:(id)fp8;
- (Class)storeClass;
- (void)setUnreadCount:(unsigned int)fp8 forMailbox:(id)fp12;
- (BOOL)hasUnreadMail;
- (id)mailboxUidForRelativePath:(id)fp8 create:(BOOL)fp12;
- (id)valueInMailboxesWithName:(id)fp8;
- (id)objectSpecifierForMessageStore:(id)fp8;
- (id)objectSpecifierForMailboxUid:(id)fp8;
- (id)objectSpecifier;
- (id)URLString;

@end

@interface MailAccount (Internal)
+ (id)_accountWithPath:(id)fp8;
+ (void)_postMailAccountsHaveChanged;
+ (void)_setOutboxMailboxUid:(id)fp8;
+ (id)_outboxMailboxUid;
- (BOOL)_setPath:(id)fp8;
- (void)setIsActive:(BOOL)fp8;
- (void)_postMailAccountsHaveChangedIfNeeded;
- (id)_pathComponentForUidName:(id)fp8;
- (id)_uidNameForPathComponent:(id)fp8;
- (void)_readCustomInfoFromMailboxCache:(id)fp8;
- (void)_writeCustomInfoToMailboxCache:(id)fp8;
- (id)_copyMailboxUidWithParent:(id)fp8 name:(id)fp12 attributes:(unsigned int)fp16 existingMailboxUid:(id)fp20;
- (void)_synchronouslyLoadListingForParent:(id)fp8;
- (void)_loadMailboxListingIntoCache:(id)fp8 attributes:(unsigned int)fp12 parent:(id)fp16;
- (void)_mailboxesWereRemovedFromTree:(id)fp8 withFileSystemPaths:(id)fp12;
- (BOOL)_usesMailboxCache;
- (void)_synchronizeMailboxListWithFileSystemBeforeImport:(BOOL)fp8;
- (void)_synchronizeMailboxListWithFileSystem;
- (void)_synchronizeMailboxListWithFileSystemBeforeImport;
- (void)_loadEntriesFromFileSystemPath:(id)fp8 parent:(id)fp12;
- (void)_writeMailboxCacheWithPrejudice:(BOOL)fp8;
- (id)_insertMailbox:(id)fp8 intoParent:(id)fp12 withName:(id)fp16;
- (BOOL)_setChildren:(id)fp8 forMailboxUid:(id)fp12;
- (BOOL)_deleteMailbox:(id)fp8;
- (id)description;
- (void)_fetchSynchronouslyIfNeeded;
- (void)_backgroundFetchCompletedCount:(unsigned int)fp8;
- (void)_backgroundFetchCompleted;
- (void)_emptySpecialMailboxesIfNeeded;
- (void)_emptySpecialMailboxesIfNeededForQuit:(BOOL)fp8;
- (id)_defaultSpecialMailboxNameForType:(int)fp8;
- (BOOL)_assignSpecialMailboxToAppropriateIvar:(id)fp8 forType:(int)fp12;
- (void)_setSpecialMailboxName:(id)fp8 forType:(int)fp12;
- (void)_setSpecialMailbox:(id)fp8 forType:(int)fp12;
- (id)_specialMailboxNameForType:(int)fp8;
- (id)_specialMailboxUidWithType:(int)fp8 create:(BOOL)fp12;
- (BOOL)_canEmptyMessagesFromMailboxUid:(id)fp8;
- (BOOL)_shouldLogDeleteActivity;
- (id)_infoForMatchingURL:(id)fp8;
- (id)_URLScheme;
- (id)_URLForInfo:(id)fp8;
- (id)_mailboxPathPrefix;
- (id)rootMailboxUidEvenIfInactive:(BOOL)fp8;
- (id)allMailboxUidsEvenIfInactive:(BOOL)fp8;
@end

@interface MailAccount (ScriptingSupport)
- (id)indicesOfObjectsByEvaluatingObjectSpecifier:(id)fp8;
- (id)mailboxes;
- (void)replaceInMailboxes:(id)fp8 atIndex:(unsigned int)fp12;
- (void)insertInMailboxes:(id)fp8 atIndex:(unsigned int)fp12;
- (void)insertInMailboxes:(id)fp8;
- (void)removeFromMailboxesAtIndex:(unsigned int)fp8;
- (BOOL)emptyTrashOnQuit;
- (void)setEmptyTrashOnQuit:(BOOL)fp8;
- (BOOL)emptySentMessagesOnQuit;
- (void)setEmptySentMessagesOnQuit:(BOOL)fp8;
- (BOOL)emptyJunkOnQuit;
- (void)setEmptyJunkOnQuit:(BOOL)fp8;
@end

@interface _SmartMailboxesEnumerator : NSEnumerator
{
    NSArray *smartMailboxes;
    int currentMailboxIndex;
    _MailboxUidEnumerator *currentMailboxEnumerator;
}

- (void)dealloc;
- (void)finalize;
- (id)initWithSmartMailboxUids:(id)fp8;
- (id)nextObject;

@end

@interface _MailboxUidEnumerator : NSEnumerator
{
    struct __CFTree *_startTree;
    struct __CFTree *_lastTree;
}

- (void)dealloc;
- (void)finalize;
- (id)initWithTree:(struct __CFTree *)fp8;
- (id)nextObject;

@end

@interface MailboxUid : NSObject
{
    NSString *uniqueId;
    id _accountOrPathComponent;
    unsigned int _attributes;
    void *_tree;
    NSString *pendingNameChange;
    BOOL isSmartMailbox;
    NSMutableArray *criteria;
    BOOL allCriteriaMustBeSatisfied;
    NSString *_realFullPath;
    unsigned int _numberOfGenericChildren;
    BOOL failedToOpen;
    NSString *openFailureMessage;
}

+ (id)smartMailboxUids;
+ (void)setSmartMailboxUids:(id)fp8;
+ (id)_smartMailboxWithIdentifier:(id)fp8 inArray:(id)fp12;
+ (id)smartMailboxWithIdentifier:(id)fp8;
+ (id)smartMailboxesEnumerator;
+ (id)specialMailboxUids;
+ (void)setShouldIndexTrash:(BOOL)fp8;
+ (void)reimportJunk;
+ (void)setShouldIndexJunk:(BOOL)fp8;
- (BOOL)isSmartMailbox;
- (void)setIsSmartMailbox:(BOOL)fp8;
- (BOOL)isFlaggedSmartMailbox;
- (void)dealloc;
- (void)finalize;
- (id)init;
- (id)initWithAccount:(id)fp8;
- (id)initWithName:(id)fp8 attributes:(unsigned int)fp12 forAccount:(id)fp16;
- (id)initWithMailboxUid:(id)fp8;
- (id)initWithDictionaryRepresentation:(id)fp8;
- (id)dictionaryRepresentation;
- (id)uniqueId;
- (id)displayName;
- (void)setPendingNameChange:(id)fp8;
- (id)name;
- (void)setName:(id)fp8;
- (unsigned int)attributes;
- (void)setAttributes:(unsigned int)fp8;
- (unsigned int)unreadCount;
- (void)setUnreadCount:(unsigned int)fp8;
- (BOOL)hasChildren;
- (void)invalidateCachedNumberOfGenericChildren;
- (unsigned int)numberOfGenericChildren;
- (unsigned int)numberOfChildren;
- (id)childAtIndex:(unsigned int)fp8;
- (unsigned int)indexOfChild:(id)fp8;
- (id)childWithName:(id)fp8;
- (id)mutableCopyOfChildren;
- (void)_deleteChildrenWithURLsIfInvalid:(id)fp8 fullPaths:(id)fp12;
- (BOOL)setChildren:(id)fp8;
- (void)sortChildren;
- (id)parent;
- (void)setParent:(id)fp8;
- (void)flushCriteria;
- (id)deepCopy;
- (void)setRepresentedAccount:(id)fp8;
- (id)representedAccount;
- (id)account;
- (id)applescriptAccount;
- (BOOL)isValid;
- (void)invalidate;
- (BOOL)isContainer;
- (BOOL)isStore;
- (BOOL)isSpecialMailboxUid;
- (id)accountRelativePath;
- (id)fullPathNonNil;
- (id)fullPath;
- (id)realFullPath;
- (id)tildeAbbreviatedPath;
- (id)pathRelativeToMailbox:(id)fp8;
- (id)URL;
- (id)URLStringWithAccount:(id)fp8;
- (id)oldURLString;
- (id)URLString;
- (int)compareWithMailboxUid:(id)fp8;
- (int)indexToInsertChildMailboxUid:(id)fp8;
- (BOOL)isDescendantOfMailbox:(id)fp8;
- (id)depthFirstEnumerator;
- (id)description;
- (int)type;
- (void)setType:(int)fp8;
- (BOOL)isIndexable;
- (void)writeIndexFlagFileIfNeeded;
- (void)removeIndexFlagFileIfNeeded;
- (id)_loadUserInfo;
- (id)userInfoObjectForKey:(id)fp8;
- (void)setUserInfoObject:(id)fp8 forKey:(id)fp12;
- (BOOL)userInfoBoolForKey:(id)fp8;
- (void)setUserInfoBool:(BOOL)fp8 forKey:(id)fp12;
- (void)saveUserInfo;
- (id)userInfoDictionary;
- (void)setUserInfoWithDictionary:(id)fp8;
- (id)userInfo;
- (id)ancestralAccount;
- (id)criteria;
- (id)criterion;
- (void)setCriteria:(id)fp8;
- (id)abGroupsUsedInCriteria;
- (BOOL)criteriaAreValid:(id *)fp8;
- (BOOL)allCriteriaMustBeSatisfied;
- (void)setAllCriteriaMustBeSatisfied:(BOOL)fp8;
- (void)addressBookDidChange:(id)fp8;
- (id)store;
- (BOOL)failedToOpen;
- (id)openFailureMessage;
- (void)setFailedToOpen:(BOOL)fp8 message:(id)fp12;
- (id)copyWithZone:(id)fp8;

@end

@interface MailboxUid (SmartMailboxCycleDetection)
- (BOOL)isPointedToByCriterion:(id)fp8 traversedMailboxes:(id)fp12;
- (BOOL)isPointedToBySmartMailbox:(id)fp8 traversedMailboxes:(id)fp12;
- (BOOL)isPointedToBySmartMailbox:(id)fp8;
@end

@interface MessageCriterion (SmartMailboxCycleDetection)
- (id)targetSmartMailbox;
@end

@interface SpecialMailboxUid : MailboxUid
{
}

+ (id)specialMailboxWithIdentifier:(id)fp8;
+ (id)specialMailboxUidForMailboxUid:(id)fp8;
+ (id)inboxMailboxUid;
+ (id)sentMessagesMailboxUid;
+ (id)draftsMailboxUid;
+ (id)junkMailboxUid;
+ (id)outboxMailboxUid;
+ (id)trashMailboxUid;
- (id)displayName;
- (id)name;
- (id)account;
- (id)children;
- (id)mutableCopyOfChildren;
- (id)childAtIndex:(unsigned int)fp8;
- (unsigned int)numberOfChildren;
- (unsigned int)numberOfGenericChildren;
- (unsigned int)unreadCount;
- (id)tildeAbbreviatedPath;
- (id)_viewerAttributesKey;
- (id)_loadUserInfo;
- (void)saveUserInfo;

@end

@interface SpecialMailboxUid (AppleScript)
+ (id)appleScriptNameForMailboxType:(int)fp8;
- (id)appleScriptKey;
- (id)objectSpecifier;
- (id)messages;
@end

@interface IMAPAccount : MailAccount <IMAPMailboxListFilter>
{
    NSString *_separatorChar;
    struct __CFArray *_lastKnownCapabilities;
    struct __CFArray *_cachedConnections;
    struct __CFArray *_mailboxesToSynchronize;
    unsigned int _readBufferSize:31;
    unsigned int _lastConnectionFailed:1;
    IMAPOperationCache *_offlineCache;
    unsigned int _shouldIncludePrefixInPath:1;
    NSLock *_mailboxListingLock;
    NSMutableSet *_mailboxesWithChangedUidNext;
    unsigned int _isFetchingUnreadCountsForAllMailboxes:1;
    unsigned int _isFetchingUnreadCountsAndCheckingNewMessagesForAllMailboxes:1;
    double _lastUnreadCountsUpdateTime;
    double _lastUnreadCountsAndNewMessagesUpdateTime;
}

+ (void)initialize;
+ (id)accountTypeString;
+ (void)_deleteQueuedMailboxes:(id)fp8;
- (id)init;
- (void)_readCustomInfoFromMailboxCache:(id)fp8;
- (void)_writeCustomInfoToMailboxCache:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (void)saveState;
- (BOOL)_syncOnly_defaultValueForShouldStoreJunkOnServer;
- (void)updateFromSyncedDictionary:(id)fp8;
- (Class)storeClass;
- (id)mailboxPathExtension;
- (void)setDisplayName:(id)fp8;
- (unsigned int)defaultPortNumber;
- (unsigned int)defaultSecurePortNumber;
- (id)serviceName;
- (id)secureServiceName;
- (id)saslProfileName;
- (BOOL)requiresAuthentication;
- (Class)connectionClass;
- (BOOL)compactWhenClosingMailboxes;
- (void)setCompactWhenClosingMailboxes:(BOOL)fp8;
- (void)setCachePolicy:(int)fp8;
- (int)cachePolicy;
- (BOOL)cachesAllMailboxes;
- (void)setCachesAllMailboxes:(BOOL)fp8;
- (BOOL)needToSynchronizeMailboxCaches;
- (void)_didSynchronizeMailboxCachesAndFoundChanges:(BOOL)fp8;
- (BOOL)_setChildren:(id)fp8 forMailboxUid:(id)fp12;
- (BOOL)storeDraftsOnServer;
- (void)setStoreDraftsOnServer:(BOOL)fp8;
- (BOOL)storeJunkOnServer;
- (void)setStoreJunkOnServer:(BOOL)fp8;
- (BOOL)storeSentMessagesOnServer;
- (void)setStoreSentMessagesOnServer:(BOOL)fp8;
- (BOOL)storeTrashOnServer;
- (void)setStoreTrashOnServer:(BOOL)fp8;
- (id)primaryMailboxUid;
- (void)handleAlertResponse:(id)fp8;
- (unsigned int)readBufferSize;
- (void)setReadBufferSize:(unsigned int)fp8;
- (void)_synchronizeMailboxesSynchronously;
- (void)synchronizeMailboxes:(id)fp8;
- (void)synchronizeAllMailboxes;
- (void)_checkForNewMessagesInStore:(id)fp8 unreadCountDelta:(unsigned int)fp12;
- (id)_dataForTemporaryUid:(unsigned long)fp8;
- (unsigned int)minimumPartialDownloadSize;
- (BOOL)allowsPartialDownloads;
- (void)setAllowsPartialDownloads:(BOOL)fp8;
- (BOOL)connectAndAuthenticate:(id)fp8;
- (id)connectionForStore:(id)fp8 delegate:(id)fp12 options:(int)fp16;
- (void)handleOpenMailboxError:(id)fp8;
- (void)checkInConnection:(id)fp8;
- (void)unselectMailbox:(id)fp8;
- (void)filterMailboxList:(id)fp8 forMailbox:(id)fp12 options:(int)fp16;
- (void)_releaseAllConnectionsAndCallSuper:(BOOL)fp8;
- (void)releaseAllConnections;
- (void)_validateConnections;
- (void)validateConnections;
- (void)connectionDidDisconnect:(id)fp8;
- (BOOL)connection:(id)fp8 shouldHandleUntaggedResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;
- (void)connection:(id)fp8 didReceiveResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;
- (BOOL)canGoOffline;
- (void)_setIsOffline:(BOOL)fp8;
- (void)setIsOffline:(BOOL)fp8;
- (void)_asynchronouslyFetchUnreadCountsCheckForNewMessages:(BOOL)fp8;
- (void)fetchSynchronously;
- (id)separatorChar;
- (id)lastKnownCapabilities;
- (id)_listingForMailboxUid:(id)fp8 listAllChildren:(BOOL)fp12;
- (id)createMailboxWithParent:(id)fp8 name:(id)fp12;
- (BOOL)_deleteMailbox:(id)fp8;
- (void)_setSpecialMailbox:(id)fp8 forType:(int)fp12;
- (id)_specialMailboxNameForType:(int)fp8;
- (BOOL)_isMailboxTypeStoredLocally:(int)fp8;
- (id)_localMailboxNameForType:(int)fp8 usingDisplayName:(id)fp12;
- (void)_renameLocalSpecialMailboxesToName:(id)fp8;
- (id)_specialMailboxUidWithType:(int)fp8 create:(BOOL)fp12;
- (BOOL)canBeSynchronized;
- (void)considerSynchronizingNow;
- (void)nowWouldBeAGoodTimeToStartBackgroundSynchronization;
- (void)_fetchUnreadCountsForMailboxUid:(id)fp8 recursively:(BOOL)fp12 connection:(id)fp16 checkForNewMessages:(BOOL)fp20;
- (void)_fetchUnreadCountsForMailboxUid:(id)fp8 recursively:(BOOL)fp12 connection:(id)fp16;
- (void)_fetchUnreadCountsCheckForNewMessages:(BOOL)fp8;
- (void)_synchronizeAccountWithServer;
- (id)_copyMailboxUidWithParent:(id)fp8 name:(id)fp12 attributes:(unsigned int)fp16 existingMailboxUid:(id)fp20;
- (void)_synchronouslyLoadListingForParent:(id)fp8;
- (void)_waitForMailboxListingLoadToComplete;
- (void)_mailboxesWereRemovedFromTree:(id)fp8 withFileSystemPaths:(id)fp12;
- (BOOL)renameMailbox:(id)fp8 newName:(id)fp12 parent:(id)fp16;
- (void)insertInMailboxes:(id)fp8 atIndex:(unsigned int)fp12;
- (id)_pathComponentForUidName:(id)fp8;
- (id)_uidNameForPathComponent:(id)fp8;
- (id)_nameForMailboxUid:(id)fp8;
- (id)nameForMailboxUid:(id)fp8;
- (id)_mailboxUidForName:(id)fp8;
- (BOOL)canMailboxBeDeleted:(id)fp8;
- (id)serverPathPrefix;
- (void)setServerPathPrefix:(id)fp8 shouldSync:(BOOL)fp12;
- (void)setServerPathPrefix:(id)fp8;
- (id)_fileSystemServerPathPrefix;
- (void)syncFileSystemWithServerPathPrefix;
- (id)_mailboxPathPrefix;
- (void)_loadEntriesFromFileSystemPath:(id)fp8 parent:(id)fp12;
- (void)deleteMessagesFromMailboxUid:(id)fp8 olderThanNumberOfDays:(unsigned int)fp12;
- (BOOL)_canEmptyMessagesFromMailboxUid:(id)fp8;
- (id)offlineCacheIfOffline;
- (id)offlineCache;
- (id)mailboxUidForRelativePath:(id)fp8 create:(BOOL)fp12;
- (id)_URLScheme;
- (id)_infoForMatchingURL:(id)fp8;

@end

@interface _IMAPMailboxDeletionQueueEntry : NSObject
{
    NSArray *urls;
    NSArray *paths;
    IMAPAccount *account;
}

- (void)dealloc;

@end

@interface IMAPAccount (ScriptingSupport)
- (int)messageCaching;
- (void)setMessageCaching:(int)fp8;
@end

@interface iToolsAccount : IMAPAccount
{
    BOOL _isPrimaryiToolsAccount;
}

+ (id)defaultPathNameForAccountWithHostname:(id)fp8 username:(id)fp12;
+ (id)primaryUsername;
+ (BOOL)primaryUsernameExists;
+ (id)iToolsMailHostname;
+ (id)iToolsSMTPHostname;
+ (id)accountTypeString;
- (BOOL)_isReallyPrimaryiToolsAccount;
- (BOOL)isPrimaryiToolsAccount;
- (void)setIsPrimaryiToolsAccount:(BOOL)fp8;
- (BOOL)isActive;
- (id)hostname;
- (void)setHostname:(id)fp8;
- (void)setPortNumber:(unsigned int)fp8;
- (unsigned int)portNumber;
- (void)setUsername:(id)fp8;
- (void)setPasswordInKeychain:(id)fp8;
- (void)_removePasswordInKeychain;
- (id)passwordFromKeychain;
- (id)displayName;
- (id)username;
- (id)rawEmailAddresses;
- (id)emailAddresses;
- (void)setDeliveryAccount:(id)fp8;
- (id)deliveryAccount;

@end

@interface POPAccount : MailAccount
{
    POP3FetchStore *_fetcher;
    ActivityMonitor *_fetchMonitor;
    NSLock *_connectionActivityLock;
    BOOL _fetcherNeedsReset;
    BOOL _deletingMessages;
    BOOL _hasDoneBackgroundSynchronization;
    struct __CFDictionary *_seenMessages;
    BOOL _seenMessagesChanged;
    double _seenMessagesFileModDate;
}

+ (id)accountTypeString;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (BOOL)_configureFetcherObject;
- (void)fetchSynchronously;
- (void)resetFetcher;
- (void)releaseAllConnections;
- (BOOL)canGoOffline;
- (void)setIsOffline:(BOOL)fp8;
- (void)_readCustomInfoFromMailboxCache:(id)fp8;
- (void)updateFromSyncedDictionary:(id)fp8;
- (unsigned int)defaultPortNumber;
- (unsigned int)defaultSecurePortNumber;
- (id)serviceName;
- (id)secureServiceName;
- (id)saslProfileName;
- (BOOL)requiresAuthentication;
- (Class)storeClass;
- (Class)connectionClass;
- (id)mailboxPathExtension;
- (id)primaryMailboxUid;
- (BOOL)canCreateNewMailboxes;
- (BOOL)canMailboxBeRenamed:(id)fp8;
- (BOOL)_setPath:(id)fp8;
- (int)bigMessageWarningSize;
- (void)setBigMessageWarningSize:(int)fp8;
- (void)setMessageDeletionPolicy:(int)fp8;
- (void)setDelayedMessageDeletionInterval:(unsigned int)fp8;
- (int)messageDeletionPolicy;
- (unsigned int)delayedMessageDeletionInterval;
- (BOOL)deletingMessages;
- (void)deleteMessagesNow:(id)fp8;
- (void)deleteSeenMessagesNow;
- (void)insertInMailboxes:(id)fp8 atIndex:(unsigned int)fp12;
- (void)acquireConnectionActivityLock;
- (void)relinquishConnectionActivityLock;
- (double)_seenMessagesFileModDate;
- (void)_loadSeenMessages;
- (struct __CFDictionary *)copySeenMessages;
- (void)addMessageIDsToSeenMessages:(id)fp8;
- (void)removeMessageIDsFromSeenMessages:(id)fp8;
- (void)removeLeftoversFromSeenMessagesUsingIDs:(struct __CFDictionary *)fp8;
- (void)saveSeenMessages;
- (id)_URLScheme;
- (id)_infoForMatchingURL:(id)fp8;

@end

@interface POPAccount (Applescript)
- (BOOL)deleteMessagesWhenMovedFromInbox;
- (void)setDeleteMessagesWhenMovedFromInbox:(BOOL)fp8;
- (id)mailboxes;
- (id)objectSpecifierForMailboxUid:(id)fp8;
- (id)valueInMailboxesWithName:(id)fp8;
- (id)storeForMailboxUid:(id)fp8;
@end

@interface _RootlessMailboxUid : MailboxUid
{
}

- (id)displayName;
- (id)fullPath;
- (id)tildeAbbreviatedPath;

@end

@interface LocalAccount : MailAccount
{
    NSMutableArray *_disembodiedUids;
}

+ (id)localAccount;
+ (id)accountTypeString;
- (id)initWithPath:(id)fp8;
- (id)rootMailboxUid;
- (id)uniqueId;
- (Class)storeClass;
- (id)mailboxPathExtension;
- (id)primaryMailboxUid;
- (void)setPath:(id)fp8;
- (id)displayName;
- (void)setHostname:(id)fp8;
- (void)setUsername:(id)fp8;
- (id)password:(BOOL)fp8;
- (void)setPassword:(id)fp8;
- (BOOL)canFetch;
- (BOOL)shouldAutoFetch;
- (BOOL)isOffline;
- (void)setIsOffline:(BOOL)fp8;
- (int)emptyTrashFrequency;
- (BOOL)shouldMoveDeletedMessagesToTrash;
- (void)_synchronouslyLoadListingForParent:(id)fp8;
- (id)_copyMailboxUidWithParent:(id)fp8 name:(id)fp12 attributes:(unsigned int)fp16 existingMailboxUid:(id)fp20;
- (BOOL)_setChildren:(id)fp8 forMailboxUid:(id)fp12;
- (id)createMailboxWithParent:(id)fp8 name:(id)fp12;
- (BOOL)renameMailbox:(id)fp8 newName:(id)fp12 parent:(id)fp16;
- (void)insertInMailboxes:(id)fp8 atIndex:(unsigned int)fp12;
- (id)mailboxUidForFileSystemPath:(id)fp8;
- (id)_URLScheme;
- (id)_infoForMatchingURL:(id)fp8;

@end

@interface Connection : NSObject
{
    id _securityLayer;
    _NSSocket *_socket;
    char *_buffer;
    int _bufferRemainingBytes;
    unsigned int _bufferStart;
    unsigned int _bufferLength;
    NSData *_logData;
}

+ (void)initialize;
+ (BOOL)logAllSocketActivity;
+ (void)setLogAllSocketActivity:(BOOL)fp8;
+ (id)logActivityOnPorts;
+ (void)setLogActivityOnPorts:(id)fp8;
+ (id)logActivityOnHosts;
+ (void)setLogActivityOnHosts:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (BOOL)connectUsingAccount:(id)fp8;
- (BOOL)authenticateUsingAccount:(id)fp8;
- (id)capabilities;
- (id)authenticationMechanisms;
- (BOOL)writeData:(id)fp8 dontLogBytesInRange:(struct _NSRange)fp12;
- (BOOL)writeData:(id)fp8;
- (BOOL)readLineIntoData:(id)fp8;
- (BOOL)readBytesIntoData:(id)fp8 desiredLength:(unsigned int)fp12;
- (BOOL)authenticateUsingAccount:(id)fp8 authenticator:(id)fp12;
- (BOOL)startTLSForAccount:(id)fp8;
- (BOOL)isValid;
- (void)disconnect;
- (void *)_socket;

@end

@interface MessageThread : Message
{
    NSMutableArray *filteredMessages;
    int unreadMessageCount;
    int flaggedMessageCount;
    int junkMessageCount;
    int attachmentCount;
    NSString *formattedUnreadMessageCount;
    BOOL isOpen;
    Message *newestMessage;
    Message *oldestMessage;
    Message *realNewestMessage;
    Message *oldestUnreadMessage;
    NSMutableDictionary *pendingChanges;
    BOOL updateSubjectEtcUponClosing;
}

+ (id)findNewestMessageInMessages:(id)fp8;
+ (id)findOldestUnreadMessageInMessages:(id)fp8;
- (id)initWithMessages:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)filteredMessages;
- (id)filteredMessageIDs;
- (void)addMessages:(id)fp8 usingSortFunction:(void *)fp12 context:(struct _MessageSortingInformation *)fp16 makePending:(BOOL)fp20;
- (void)deleteMessage:(id)fp8 makePending:(BOOL)fp12;
- (BOOL)commitPendingChangesForSeriesID:(id)fp8;
- (void)discardPendingChangesForSeriesID:(id)fp8;
- (unsigned int)indexInMall:(id)fp8;
- (BOOL)flagsHaveChanged;
- (void)updateSubjectEtc:(BOOL)fp8;
- (id)formattedUnreadMessageCount;
- (int)numberOfFilteredMessages;
- (int)numberOfPendingFilteredMessages;
- (id)pendingFilteredMessages;
- (int)numberOfUnreadMessages;
- (void)setNewestMessage:(id)fp8;
- (void)setOldestMessage:(id)fp8;
- (id)to;
- (id)subject;
- (double)dateReceivedAsTimeIntervalSince1970;
- (double)dateSentAsTimeIntervalSince1970;
- (double)dateLastViewedAsTimeIntervalSince1970;
- (id)sender;
- (id)senderAddressComment;
- (id)messageID;
- (id)messageStore;
- (id)messageBody;
- (unsigned int)messageSize;
- (unsigned int)numberOfAttachments;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (BOOL)isThread;
- (BOOL)isOpen;
- (void)setIsOpen:(BOOL)fp8;
- (BOOL)willBeDeletedIfMessagesAreDeleted:(id)fp8;
- (void)sortMessagesUsingFunction:(void *)fp8 context:(struct _MessageSortingInformation *)fp12 makePending:(BOOL)fp16;
- (void)invertOrderOfMessagesMakePending:(BOOL)fp8;
- (id)oldestMessage;
- (id)newestMessage;
- (id)oldestUnreadMessage;
- (void)setJunkFlags;
- (id)preferredEmailAddressToReplyWith;

@end

@interface Message (Threads)
- (BOOL)isThread;
@end

@interface NSMailDelivery : NSObject
{
}

+ (void)_loadMailDefaults;
+ (void)_unloadMailDefaults;
+ (BOOL)deliverMessage:(id)fp8 headers:(id)fp12 format:(id)fp16 protocol:(id)fp20;
+ (BOOL)deliverMessage:(id)fp8 subject:(id)fp12 to:(id)fp16;
+ (BOOL)hasDeliveryClassBeenConfigured;

@end

@interface MailDelivery : NSObject
{
    id _delegate;
    Message *_message;
    MailAccount *_archiveAccount;
    DeliveryAccount *_account;
    unsigned int _askForReadReceipt:1;
    unsigned int _threaded:1;
    unsigned int _status:4;
    unsigned int __UNUSED__:25;
}

+ (id)newWithMessage:(id)fp8;
+ (BOOL)deliverMessage:(id)fp8 askForReadReceipt:(BOOL)fp12;
+ (BOOL)deliverMessage:(id)fp8;
+ (BOOL)returnMessageToSender:(id)fp8;
- (id)initWithMessage:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)message;
- (id)delegate;
- (void)setDelegate:(id)fp8;
- (id)archiveAccount;
- (void)setArchiveAccount:(id)fp8;
- (id)account;
- (void)setAccount:(id)fp8;
- (BOOL)askForReadReceipt;
- (void)setAskForReadReceipt:(BOOL)fp8;
- (int)deliveryStatus;
- (id)headersForDelivery;
- (void)deliverAsynchronously;
- (int)deliverSynchronously;
- (int)deliverMessageData:(id)fp8 toRecipients:(id)fp12;

@end

@interface DeliveryAccount : Account
{
}

+ (void)_postDeliveryAccountsHaveChanged;
+ (id)deliveryAccounts;
+ (void)setDeliveryAccounts:(id)fp8;
+ (void)addDeliveryAccount:(id)fp8;
+ (void)removeDeliveryAccount:(id)fp8;
+ (void)saveAccountInfoToDefaults;
+ (id)accountWithUniqueId:(id)fp8;
+ (id)accountWithIdentifier:(id)fp8;
+ (id)existingAccountWithHostname:(id)fp8 username:(id)fp12;
+ (id)accountWithHostname:(id)fp8 username:(id)fp12;
+ (id)accountWithHostname:(id)fp8 username:(id)fp12 lookForExistingAccounts:(BOOL)fp16;
+ (id)newDefaultInstance;
- (Class)deliveryClass;
- (id)identifier;
- (void)updateFromSyncedDictionary:(id)fp8;
- (BOOL)shouldUseAuthentication;
- (void)setShouldUseAuthentication:(BOOL)fp8;
- (unsigned long long)maximumMessageBytes;
- (void)setMaximumMessageBytes:(unsigned long long)fp8;

@end

@interface SMTPDelivery : MailDelivery
{
    SMTPConnection *_connection;
}

- (Class)deliveryClass;
- (int)deliverMessageData:(id)fp8 toRecipients:(id)fp12;

@end

@interface SMTPConnection : Connection
{
    unsigned int _lastResponseCode:31;
    unsigned int _hideLoggedData:1;
    id _lastResponse;
    NSMutableArray *_serviceExtensions;
    NSMutableData *_mdata;
    NSString *_domainName;
    int _originalSocketTimeout;
    int _lastCommandTimestamp;
}

+ (void)initialize;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (int)state;
- (id)lastResponse;
- (unsigned int)lastResponseCode;
- (id)domainName;
- (void)setDomainName:(id)fp8;
- (unsigned long long)maximumMessageBytes;
- (id)authenticationMechanisms;
- (BOOL)authenticateUsingAccount:(id)fp8;
- (BOOL)authenticateUsingAccount:(id)fp8 authenticator:(id)fp12;
- (BOOL)connectUsingAccount:(id)fp8;
- (int)mailFrom:(id)fp8;
- (int)rcptTo:(id)fp8;
- (int)noop;
- (int)sendData:(id)fp8;
- (int)quit;
- (long)timeLastCommandWasSent;

@end

@interface SMTPConnection (PrivateCommands)
- (int)_sendCommand:(const char *)fp8 length:(unsigned int)fp12 argument:(id)fp16 trailer:(unsigned char)fp20;
- (int)_getReply;
- (void)_readResponseRange:(struct _NSRange *)fp8 isContinuation:(char *)fp12;
- (BOOL)_connectUsingAccount:(id)fp8;
- (int)_doHandshakeUsingAccount:(id)fp8;
- (BOOL)_hasParameter:(id)fp8 forKeyword:(id)fp12;
@end

@interface SMTPAccount : DeliveryAccount
{
    SMTPConnection *_connection;
    NSTimer *_timer;
    int _lastTimerSetTime;
}

+ (id)accountTypeString;
+ (id)newDefaultInstance;
- (Class)deliveryClass;
- (unsigned int)defaultPortNumber;
- (id)serviceName;
- (id)saslProfileName;
- (unsigned int)alternativeDefaultPortNumber;
- (Class)connectionClass;
- (id)preferredAuthScheme;
- (void)setPreferredAuthScheme:(id)fp8;
- (id)authenticatedConnection;
- (void)checkInConnection:(id)fp8;
- (void)setTimer;
- (void)connectionExpired:(id)fp8;
- (void)disconnect:(id)fp8;
- (BOOL)_shouldTryDirectSSLConnectionOnPort:(unsigned int)fp8;
- (void)releaseAllConnections;
- (void)setPasswordInKeychain:(id)fp8;
- (id)passwordFromKeychain;
- (void)dealloc;
- (void)finalize;

@end

@interface SMTPAccount (Applescript)
- (id)displayName;
- (id)objectSpecifier;
@end

@interface ActivityMonitorMultiTarget : NSObject
{
    id _primaryTarget;
    NSMutableSet *_allTargets;
}

- (void)dealloc;
- (BOOL)addActivityTarget:(id)fp8;
- (BOOL)removeActivityTarget:(id)fp8;
- (id)primaryTarget;
- (void)setPrimaryTarget:(id)fp8;
- (id)allTargets;
- (id)displayName;

@end

@interface ActivityMonitor : NSObject
{
    NSMachPort *_cancelPort;
    NSString *_taskName;
    NSString *_statusMessage;
    NSString *_descriptionString;
    double _percentDone;
    unsigned int _key:13;
    unsigned int _canCancel:1;
    unsigned int _shouldCancel:1;
    unsigned int _isActive:1;
    unsigned int _priority:8;
    unsigned int _changeCount:8;
    id _delegate;
    id _target;
    MFError *_error;
    int shouldUnifyDoneness;
    float previousDoneness;
    int currentProgressStage;
    int numberOfProgressStages;
    double _startTime;
}

+ (id)currentMonitor;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (BOOL)isActive;
- (void)setDelegate:(id)fp8;
- (void)postActivityStarting;
- (void)handlePortMessage:(id)fp8;
- (void)postActivityFinished;
- (void)_didChange;
- (int)changeCount;
- (void)setStatusMessage:(id)fp8;
- (void)setStatusMessage:(id)fp8 percentDone:(double)fp12;
- (id)statusMessage;
- (void)setPercentDone:(double)fp8;
- (double)percentDone;
- (float)unifiedFractionDone;
- (void)beginProgressFor:(int)fp8;
- (unsigned char)priority;
- (void)setPriority:(unsigned char)fp8;
- (id)description;
- (id)taskName;
- (void)setTaskName:(id)fp8;
- (void)setActivityTarget:(id)fp8;
- (id)activityTarget;
- (void)addActivityTarget:(id)fp8;
- (void)removeActivityTarget:(id)fp8;
- (void)setPrimaryTarget:(id)fp8;
- (id)activityTargets;
- (BOOL)canBeCancelled;
- (void)setCanBeCancelled:(BOOL)fp8;
- (BOOL)shouldCancel;
- (void)setShouldCancel:(BOOL)fp8;
- (void)cancel;
- (int)acquireExclusiveAccessKey;
- (void)relinquishExclusiveAccessKey:(int)fp8;
- (void)setStatusMessage:(id)fp8 percentDone:(double)fp12 withKey:(int)fp20;
- (void)setStatusMessage:(id)fp8 withKey:(int)fp12;
- (void)setPercentDone:(double)fp8 withKey:(int)fp16;
- (id)error;
- (void)setError:(id)fp8;
- (id)cancelPort;

@end

@interface ArchiveFileWrapper : NSFileWrapper
{
    NSData *_archiveData;
    int _archiveType;
    NSFileWrapper *_realFileWrapper;
    NSString *_quarantinePath;
}

- (void)dealloc;
- (void)finalize;
- (id)initWithData:(id)fp8 archiveType:(int)fp12;
- (BOOL)writeToFile:(id)fp8 atomically:(BOOL)fp12 updateFilenames:(BOOL)fp16;
- (id)expandQuarantined;
- (void)removeQuarantine;
- (unsigned int)approximateSize;
- (BOOL)isRegularFile;
- (BOOL)isDirectory;
- (BOOL)isSymbolicLink;
- (id)serializedRepresentation;
- (id)addFileWrapper:(id)fp8;
- (void)removeFileWrapper:(id)fp8;
- (id)fileWrappers;
- (id)keyForFileWrapper:(id)fp8;
- (id)addFileWithPath:(id)fp8;
- (id)addRegularFileWithContents:(id)fp8 preferredFilename:(id)fp12;
- (id)addSymbolicLinkWithDestination:(id)fp8 preferredFilename:(id)fp12;
- (id)preferredFilename;
- (void)getCompressedData:(id *)fp8 archiveType:(int *)fp12;

@end

@interface ASExtendedOutlineView : NSOutlineView
{
    struct {
        unsigned int drawColumnSeparators:1;
        unsigned int delegateProvidesRowHeights:1;
        unsigned int shouldHideDisclosureTriangles:1;
        unsigned int delegateProvidesHighlightColor:1;
        unsigned int delegateProvidesSourceDraggingMask:1;
        unsigned int delegateHandlesDidEndDrag:1;
        unsigned int delegateTracksMouse:1;
        unsigned int delegateWantsMouseEnteredExitedEvent:1;
        unsigned int trackingRectsAreDirty:1;
        unsigned int delegateHandlesDoubleClick:1;
        unsigned int delegateMayOverrideDragImage:1;
        unsigned int delegateDraggedImageMovedTo:1;
        unsigned int showSelectionWithGradientHighlight:1;
        unsigned int delegateProvidesOutlineImage:1;
        unsigned int doFancyDragDestinationHighlighting:1;
        unsigned int allowSelectAll:1;
        unsigned int acceptFirstResponderOnMouseDown:1;
        unsigned int drawKeyboardFocus:1;
    } _extendedOutlineViewFlags;
    struct __CFSet *_trackingRectTags;
    NSImage *blueGradientBackground;
    NSImage *blueGradientBackgroundFocus;
    NSImage *smallBlueGradientBackground;
    NSImage *smallBlueGradientBackgroundFocus;
    int _cellTrackingRow;
    int _dropDestinationRow;
    int normalIndentation;
    id _splitHandle;
}

- (void)awakeFromNib;
- (void)dealloc;
- (void)finalize;
- (void)stopObservingViewBoundsChange:(id)fp8;
- (void)startObservingViewBoundsChange:(id)fp8;
- (void)viewWillMoveToSuperview:(id)fp8;
- (void)viewWillMoveToWindow:(id)fp8;
- (void)setDelegate:(id)fp8;
- (BOOL)drawsColumnSeparators;
- (void)setDrawsColumnSeparators:(BOOL)fp8;
- (void)setAllowsSelectAll:(BOOL)fp8;
- (void)setAcceptFirstResponderOnMouseDown:(BOOL)fp8;
- (void)_drawColumnSeparatorsInRect:(struct _NSRect)fp8;
- (BOOL)_wantsLiveResizeToUseCachedImage;
- (void)drawRect:(struct _NSRect)fp8;
- (void)drawRow:(int)fp8 clipRect:(struct _NSRect)fp12;
- (void)_drawDropHighlightOnRow:(int)fp8;
- (void)drawFancyDropHighlightOnRow:(int)fp8;
- (BOOL)shouldCollapseAutoExpandedItemsForDeposited:(BOOL)fp8;
- (int)rowForItemEqualTo:(id)fp8;
- (id)findItemEqualTo:(id)fp8;
- (BOOL)redisplayItemEqualTo:(id)fp8;
- (BOOL)reloadItemEqualTo:(id)fp8 reloadChildren:(BOOL)fp12;
- (BOOL)expandItemEqualTo:(id)fp8 expandChildren:(BOOL)fp12;
- (BOOL)collapseItemEqualTo:(id)fp8 collapseChildren:(BOOL)fp12;
- (id)getPersistentExpandedItemsAsArray;
- (void)setPersistentExpandedItemsFromArray:(id)fp8;
- (void)setShouldHideDisclosureTriangles:(BOOL)fp8;
- (void)setDoFancyDragDestinationHighlighting:(BOOL)fp8;
- (struct _NSRect)frameOfCellAtColumn:(int)fp8 row:(int)fp12;
- (float)heightOfRow:(int)fp8;
- (int)rowAtPoint:(struct _NSPoint)fp8;
- (float)_verticalOriginForRow:(int)fp8;
- (struct _NSRect)rectOfRow:(int)fp8;
- (struct _NSRect)_frameOfOutlineCellAtRow:(int)fp8;
- (BOOL)shouldUseSecondaryHighlightColor;
- (id)_highlightColorForCell:(id)fp8;
- (id)blueGradientBackground;
- (id)blueGradientBackgroundFocus;
- (id)smallBlueGradientBackgroundFocus;
- (id)smallBlueGradientBackground;
- (void)setShowSelectionWithGradientHighlight:(BOOL)fp8;
- (BOOL)becomeFirstResponder;
- (BOOL)resignFirstResponder;
- (void)highlightSelectionInClipRect:(struct _NSRect)fp8;
- (void)windowChangedKeyStatus:(id)fp8;
- (unsigned int)draggingSourceOperationMaskForLocal:(BOOL)fp8;
- (void)draggedImage:(id)fp8 endedAt:(struct _NSPoint)fp12 operation:(unsigned int)fp20;
- (id)dragImageForRowsWithIndexes:(id)fp8 tableColumns:(id)fp12 event:(id)fp16 offset:(struct _NSPoint *)fp20;
- (void)draggedImage:(id)fp8 movedTo:(struct _NSPoint)fp12;
- (void)draggingExited:(id)fp8;
- (void)setCurrentDragDestinationRow:(int)fp8;
- (void)setDragDestinationChild:(int)fp8 ofItem:(id)fp12;
- (int)rowOfChild:(int)fp8 ofItem:(id)fp12;
- (int)trackingRow;
- (void)_clearTrackingRects;
- (void)_reallyUpdateTrackingRects;
- (void)updateTrackingRects;
- (void)setNeedsDisplayInTrackingRects:(id)fp8 mouseEntered:(BOOL)fp12;
- (void)selectAll:(id)fp8;
- (void)mouseEntered:(id)fp8;
- (void)mouseExited:(id)fp8;
- (void)mouseDown:(id)fp8;
- (void)expandItem:(id)fp8 expandChildren:(BOOL)fp12;
- (void)collapseItem:(id)fp8 collapseChildren:(BOOL)fp12;
- (BOOL)atLeastOneItemIsExpandable;
- (void)reloadItem:(id)fp8 reloadChildren:(BOOL)fp12;
- (void)reloadData;
- (void)noteNumberOfRowsChanged;
- (void)aseovSuperviewBoundsChanged:(id)fp8;
- (BOOL)acceptsFirstMouse:(id)fp8;
- (void)setFrameSize:(struct _NSSize)fp8;
- (void)setSplitHandle:(id)fp8;

@end

@interface ASExtendedTableView : NSTableView
{
    struct {
        unsigned int delegateScrolls:1;
        unsigned int delegateProvidesDragImage:1;
        unsigned int delegateProvidesSourceDraggingMask:1;
        unsigned int delegateDoesCommandBySelector:1;
        unsigned int delegateDragWillEnd:1;
        unsigned int delegateDragWillEndOperation:1;
        unsigned int delegateDraggedImageMovedTo:1;
        unsigned int delegateProvidesBackgroundColor:1;
        unsigned int delegateProvidesBackgroundShadedRegions:1;
        unsigned int alwaysKeepColumnsSizedToFitAvailableSpace:1;
        unsigned int delegateProvidesColumnsToPinInPlace:1;
        unsigned int delegateProvidesHighlightStyle:1;
        unsigned int delegateProvidesHighlightColor:1;
        unsigned int delegateRespondsToWillDrawRowsInRange:1;
        unsigned int delegateRespondsToDidDrawRowsInRange:1;
        unsigned int delegateApprovesScrolling:1;
        unsigned int delegateRespondsToGotEvent:1;
        unsigned int delegateRespondsToShouldBeginDrag:1;
        unsigned int delegateRespondsToWillResizeColumnsToFit:1;
        unsigned int delegateRespondsToDidResizeColumnsToFit:1;
        unsigned int delegateRespondsToWillMoveToWindow:1;
        unsigned int delegateRespondsToDidMoveToWindow:1;
    } _extendedTableViewFlags;
}

- (void)awakeFromNib;
- (void)finalize;
- (BOOL)_wantsLiveResizeToUseCachedImage;
- (void)keyDown:(id)fp8;
- (void)setDelegate:(id)fp8;
- (struct _NSRange)completelyVisibleRowsCapacity:(int *)fp8;
- (void)stopObservingViewBoundsChange:(id)fp8;
- (void)startObservingViewBoundsChange:(id)fp8;
- (void)viewWillMoveToSuperview:(id)fp8;
- (void)asetvSuperviewBoundsChanged:(id)fp8;
- (void)setPersistentTableColumnsFromArray:(id)fp8;
- (id)getPersistentTableColumnsAsArray;
- (void)scrollRowToVisible:(int)fp8;
- (void)setTableColumn:(id)fp8 toVisible:(BOOL)fp12 atPosition:(int)fp16;
- (void)moveColumn:(int)fp8 toColumn:(int)fp12;
- (void)setAlwaysKeepColumnsSizedToFitAvailableSpace:(BOOL)fp8;
- (BOOL)alwaysKeepColumnsSizedToFitAvailableSpace;
- (float)totalWidthOfAllColumns;
- (int)numberOfColumnsToPinToLefthandSide;
- (int)_columnClosestToColumn:(int)fp8 whenMoved:(float)fp12;
- (void)betterSizeToFit;
- (void)sizeToFit;
- (void)_sizeToFitIfNecessary;
- (id)dragImageForRowsWithIndexes:(id)fp8 tableColumns:(id)fp12 event:(id)fp16 offset:(struct _NSPoint *)fp20;
- (void)draggedImage:(id)fp8 endedAt:(struct _NSPoint)fp12 operation:(unsigned int)fp20;
- (void)draggedImage:(id)fp8 movedTo:(struct _NSPoint)fp12;
- (void)_userSelectRow:(int)fp8 byExtendingSelection:(BOOL)fp12;
- (BOOL)shouldUseSecondaryHighlightColor;
- (id)_highlightColorForCell:(id)fp8;
- (void)_highlightRect:(struct _NSRect)fp8 withColor:(id)fp24 usingStyle:(int)fp28;
- (void)_colorizeRow:(int)fp8 inRect:(struct _NSRect)fp12 clipRect:(struct _NSRect)fp28;
- (void)drawBackgroundInClipRect:(struct _NSRect)fp8;
- (void)drawRect:(struct _NSRect)fp8;
- (void)drawRow:(int)fp8 clipRect:(struct _NSRect)fp12;
- (struct _NSRect)cellFrameForPaddedRect:(struct _NSRect)fp8;
- (struct _NSRect)paddedRectForCellFrame:(struct _NSRect)fp8;
- (struct _NSRect)frameOfCellAtColumn:(int)fp8 row:(int)fp12;
- (int)_distanceInDragDirectionBeforeDragAttempt;
- (int)_distanceInNonDragDirectionBeforeAbortingDragAttempt;
- (unsigned int)draggingSourceOperationMaskForLocal:(BOOL)fp8;
- (void)mouseDown:(id)fp8;
- (void)mouseUp:(id)fp8;
- (void)_postEventNotification:(id)fp8 fromCell:(id)fp12;
- (BOOL)_dragShouldBeginFromMouseDown:(id)fp8;
- (void)viewWillMoveToWindow:(id)fp8;
- (void)viewDidMoveToWindow;

@end

@interface ASExtendedTableHeaderView : NSTableHeaderView
{
}

- (void)_reorderColumn:(int)fp8 withEvent:(id)fp12;

@end

@interface NSTableView (WhyIsntTheKitDoingThisForUs)
- (id)menuForEvent:(id)fp8;
@end

@interface MutableByteSet : ByteSet
{
}

- (void)addBytesInRange:(struct _NSRange)fp8;
- (void)removeBytesInRange:(struct _NSRange)fp8;
- (void)invert;

@end

@interface ByteSet : NSObject <NSCopying, NSMutableCopying>
{
    char mySet[32];
}

+ (id)asciiWhitespaceSet;
+ (id)ASCIIByteSet;
+ (id)nonASCIIByteSet;
+ (id)suspiciousCodepage1252ByteSet;
- (BOOL)byteIsMember:(BOOL)fp8;
- (id)invertedSet;
- (id)initWithRange:(struct _NSRange)fp8;
- (id)initWithCString:(const char *)fp8;
- (id)initWithBytes:(const void *)fp8 length:(unsigned int)fp12;
- (id)_initWithSet:(const char *)fp8;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (id)mutableCopyWithZone:(struct _NSZone *)fp8;

@end

@interface DataScanner : NSObject
{
    NSData *myData;
    unsigned int myLocation;
}

+ (id)scannerWithData:(id)fp8;
- (void)setData:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)data;
- (unsigned int)scanLocation;
- (void)setScanLocation:(unsigned int)fp8;
- (BOOL)scanByte:(char *)fp8;
- (BOOL)scanInt:(int *)fp8;
- (BOOL)scanData:(id)fp8 intoData:(id *)fp12;
- (BOOL)scanCString:(const char *)fp8 intoData:(id *)fp12;
- (BOOL)scanBytesFromSet:(id)fp8 intoData:(id *)fp12;
- (void)incrementLocation;
- (BOOL)scanUpToData:(id)fp8 intoData:(id *)fp12;
- (BOOL)scanUpToCString:(const char *)fp8 intoData:(id *)fp12;
- (BOOL)scanUpToBytesFromSet:(id)fp8 intoData:(id *)fp12;
- (BOOL)isAtEnd;
- (BOOL)byteAtScanLocation;
- (id)nextTokenWithPunctuation:(id)fp8;
- (id)initWithData:(id)fp8;

@end

@interface Defaults : NSObject
{
    NSUserDefaults *defaults;
}

+ (id)sharedInstance;
+ (void)setupLoggingDefaults;
+ (id)logMessages;
+ (id)macBuddyPlist;
+ (id)mailSetupFromMacBuddy;
- (id)primaryEmailAddress;
- (void)setPrimaryEmailAddress:(id)fp8;
- (int)headerDetailLevel;
- (void)setHeaderDetailLevel:(int)fp8;
- (id)_regexesForCustomDisplayedHeaders;
- (id)headersToDisplayFromHeaderKeys:(id)fp8 headerDetailLevel:(int)fp12;
- (id)customDisplayedHeaders;
- (void)setCustomDisplayedHeaders:(id)fp8;
- (int)sendFormat;
- (void)setSendFormat:(int)fp8;
- (id)mailAccountDirectory;
- (void)setDefaultMailDirectory:(id)fp8;
- (id)defaultMailDirectory;
- (id)archiveMailbox;
- (id)draftsMailbox;
- (id)trashMailboxName;
- (BOOL)autosaveWindows;
- (void)setAutosaveWindows:(BOOL)fp8;
- (id)quotingColorList;
- (void)setQuotingColorList:(id)fp8;
- (id)colorForQuoteLevel:(int)fp8;
- (id)userStyleSheetURL;
- (id)alternateAddressesForSelf;
- (id)dictionaryForKey:(id)fp8;
- (id)stringForKey:(id)fp8;
- (void)removeObjectForKey:(id)fp8;
- (void)setObject:(id)fp8 forKey:(id)fp12;
- (id)objectForKey:(id)fp8;
- (void)setBool:(BOOL)fp8 forKey:(id)fp12;
- (BOOL)boolForKey:(id)fp8;
- (int)integerForKey:(id)fp8;
- (BOOL)synchronize;

@end

@interface NSArray (NSEmailAddressArray)
- (id)uncommentedAddressList;
- (id)addressString;
- (id)addressStringWithMaxNumberOfAddresses:(unsigned int)fp8;
@end

@interface NSString (NSEmailAddressString)
+ (id)nameExtensions;
+ (id)nameExtensionsThatDoNotNeedCommas;
+ (id)partialSurnames;
+ (id)formattedAddressWithName:(id)fp8 email:(id)fp12 useQuotes:(BOOL)fp16;
- (id)uncommentedAddress;
- (id)uncommentedAddressRespectingGroups;
- (id)addressComment;
- (void)firstName:(id *)fp8 middleName:(id *)fp12 lastName:(id *)fp16 extension:(id *)fp20;
- (BOOL)appearsToBeAnInitial;
- (id)addressList;
- (id)trimCommasSpacesQuotes;
- (id)componentsSeparatedByCommaRespectingQuotesAndParens;
- (id)searchStringComponents;
- (BOOL)isLegalEmailAddress;
- (id)addressDomain;
@end

@interface ExpandingSplitView : NSSplitView
{
    float _oldSplitPosition;
    int dividerToolTipTag;
    NSString *toolTipString;
    NSImage *splitterDimple;
    NSImage *splitterBackground;
    BOOL useSpecialDivider;
}

- (void)dealloc;
- (void)finalize;
- (void)setUseSpecialDivider:(BOOL)fp8;
- (void)mouseDown:(id)fp8;
- (float)getSplitPercentage;
- (BOOL)_isSubviewAtIndexVisible:(unsigned int)fp8;
- (BOOL)isSecondViewVisible;
- (BOOL)isFirstViewVisible;
- (void)resizeSubviewsToPercentage:(float)fp8;
- (void)setDividerToolTip:(id)fp8;
- (float)dividerThickness;
- (struct _NSRect)dividerRect;
- (void)drawDividerInRect:(struct _NSRect)fp8;
- (id)accessibilityAttributeValue:(id)fp8;

@end

@interface SafeObserver : NSObject
{
    unsigned int _retainCount;
}

+ (void)initialize;
+ (void)lockSafeObservers;
+ (void)unlockSafeObservers;
- (id)init;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (id)retain;
- (id)willBeReleased;
- (void)release;
- (unsigned int)retainCount;

@end

@interface NSMutableDictionary (Goodies)
- (void)setBool:(BOOL)fp8 forKey:(id)fp12;
- (void)setInteger:(int)fp8 forKey:(id)fp12;
- (void)addObject:(id)fp8 forKey:(id)fp12;
@end

@interface NSDictionary (Goodies)
- (BOOL)boolForKey:(id)fp8;
- (int)integerForKey:(id)fp8;
@end

@interface NSTimeZone (HowAboutSomeNiceCaching)
+ (id)timeZoneWithAbbreviation:(id)fp8;
+ (id)timeZoneWithName:(id)fp8;
@end

@interface NSDate (Goodies)
+ (id)dateInCommonFormatsWithString:(id)fp8;
+ (id)lenientDateInCommonFormatsWithString:(id)fp8;
- (id)descriptionInBSDMailboxFormat;
- (id)replyPrefixForSender:(id)fp8 withSpacer:(BOOL)fp12;
@end

@interface NSFileWrapper (HFSDataConversion)
- (id)appleSingleDataWithFilename:(const char *)fp8 length:(unsigned int)fp12;
- (id)appleDoubleDataWithFilename:(const char *)fp8 length:(unsigned int)fp12;
@end

@interface NSData (HFSDataConversion)
- (id)wrapperForAppleFileDataWithFileEncodingHint:(unsigned long)fp8;
- (id)wrapperForBinHex40DataWithFileEncodingHint:(unsigned long)fp8;
@end

@interface InvocationQueue : NSObject
{
    NSMutableArray *_items;
    unsigned int _maxThreads:16;
    unsigned int _numThreads:16;
    double _threadRecycleTimeout;
    NSConditionLock *_threadRecycleLock;
}

- (id)init;
- (void)setMaxThreadCount:(unsigned int)fp8;
- (unsigned int)maxThreadCount;
- (void)dealloc;
- (void)finalize;
- (void)removeAllItems;
- (void)_drainQueue;
- (void)addInvocation:(id)fp8;
- (unsigned int)invocationCount;
- (void)setThreadRecycleTimeout:(double)fp8;
- (double)threadRecycleTimeout;

@end

@interface MainThread : NSObject
{
    NSMachPort *_ticklePort;
    NSMutableArray *_requests;
}

+ (void)setupMainThreadObject;
+ (id)mainThread;
+ (BOOL)runningOnMainThread;
- (id)init;
- (BOOL)_runningOnMainThread;
- (void)performOneway:(BOOL)fp8 result:(void *)fp12 withTarget:(id)fp16 selector:(SEL)fp20;
- (void)_postNotificationInMainThread:(id)fp8;
- (void)_threadWillDie:(id)fp8;
- (void)handlePortMessage:(id)fp8;

@end

@interface NSNotificationCenter (MainThreadPosting)
- (void)postNotificationInMainThread:(id)fp8;
@end

@interface NSObject (MainThreadMessaging)
- (void)performSelectorInMainThread:(SEL)fp8;
- (void)performSelectorInMainThread:(SEL)fp8 withObject:(id)fp12;
- (void)performSelectorInMainThread:(SEL)fp8 withObject:(id)fp12 withObject:(id)fp16;
- (void)performOnewaySelectorInMainThread:(SEL)fp8 withObject:(id)fp12;
- (void)performOnewaySelectorInMainThread:(SEL)fp8 withObject:(id)fp12 withObject:(id)fp16;
@end

@interface MFError : NSError
{
    NSMutableDictionary *_moreUserInfo;
}

+ (id)errorWithDomain:(id)fp8 code:(long)fp12 localizedDescription:(id)fp16;
+ (id)errorWithDomain:(id)fp8 code:(long)fp12 localizedDescription:(id)fp16 title:(id)fp20 helpTag:(id)fp24 userInfo:(id)fp28;
+ (id)errorWithException:(id)fp8;
- (void)setUserInfoObject:(id)fp8 forKey:(id)fp12;
- (id)userInfo;
- (id)localizedDescription;
- (id)moreInfo;
- (id)helpAnchor;
- (id)shortDescription;
- (void)setLocalizedDescription:(id)fp8;
- (void)setMoreInfo:(id)fp8;
- (void)setHelpTag:(id)fp8;
- (void)setShortDescription:(id)fp8;
- (void)useGenericDescription:(id)fp8;
- (BOOL)alertShowHelp:(id)fp8;
- (void)dealloc;
- (void)finalize;

@end

@interface NSError (MessageAdditions)
- (BOOL)isUserCancelledError;
- (BOOL)shouldBeReportedToUser;
- (id)moreInfo;
- (id)helpAnchor;
- (id)shortDescription;
@end

@interface MonitoredInvocation : NSInvocation
{
    ActivityMonitor *_monitor;
}

+ (id)invocationWithSelector:(SEL)fp8 target:(id)fp12 taskName:(id)fp16 priority:(unsigned char)fp20 canBeCancelled:(BOOL)fp24;
+ (id)invocationWithSelector:(SEL)fp8 target:(id)fp12 object:(id)fp16 taskName:(id)fp20 priority:(unsigned char)fp24 canBeCancelled:(BOOL)fp28;
+ (id)invocationWithSelector:(SEL)fp8 target:(id)fp12 object1:(id)fp16 object2:(id)fp20 taskName:(id)fp24 priority:(unsigned char)fp28 canBeCancelled:(BOOL)fp32;
- (void)dealloc;
- (void)finalize;
- (id)monitor;
- (void)setMonitor:(id)fp8;
- (void)invoke;

@end

@interface NSInvocation (MailExtensions)
+ (id)invocationWithSelector:(SEL)fp8 target:(id)fp12;
+ (id)invocationWithSelector:(SEL)fp8 target:(id)fp12 object:(id)fp16;
+ (id)invocationWithSelector:(SEL)fp8 target:(id)fp12 object1:(id)fp16 object2:(id)fp20;
+ (id)invocationWithSelector:(SEL)fp8 target:(id)fp12 object1:(id)fp16 object2:(id)fp20 object3:(id)fp24;
@end

@interface HelpButton : NSButton
{
}

- (void)awakeFromNib;
- (BOOL)sendAction:(SEL)fp8 to:(id)fp12;

@end

@interface NetworkController : NSObject
{
    struct __SCDynamicStore *_store;
    NSString *_domainName;
    unsigned int _waitingForDialToFinish:1;
    unsigned int _checkedNetwork:1;
    unsigned int _isNetworkUp:1;
    NSTimer *_notificationTimer;
}

+ (id)sharedInstance;
- (void)dealloc;
- (void)finalize;
- (id)init;
- (BOOL)isNetworkUp;
- (id)domainName;
- (BOOL)isHostReachable:(id)fp8;
- (id)primaryEthernetAddressAsString;

@end

@interface NetworkController (Private)
- (void)_postNotification:(id)fp8;
- (void)_postNetworkChangeNotification:(id)fp8;
- (void)_triggerDialForHostname:(id)fp8;
- (void)_registerForNotificationKeys:(id)fp8 patterns:(id)fp12;
@end

@interface NSAppleEventDescriptor (MailAdditions)
- (long)sendNoReplyWithMode:(long)fp8 priority:(short)fp12;
- (long)sendNoReply;
@end

@interface NSArray (AppleScriptConveniences)
- (id)arrayByEvaluatingObjectSpecifiers;
@end

@interface NSAppleEventDescriptor (MessageRuleAdditions)
- (BOOL)isSendToSelfEvent;
@end

@interface NSAppleScript (MessageRuleAdditions)
+ (id)_createScriptAtPath:(id)fp8 errorInfo:(id *)fp12;
+ (BOOL)executeHandlerWithName:(id)fp8 inScriptAtPath:(id)fp12 withArguments:(id)fp16 error:(id *)fp20;
+ (BOOL)executeHandlerWithEventClass:(unsigned long)fp8 eventID:(unsigned long)fp12 inScriptAtPath:(id)fp16 withArguments:(id)fp20 error:(id *)fp24;
+ (id)appleScriptLock;
- (id)executeHandlerWithName:(id)fp8 andArguments:(id)fp12 error:(id *)fp16;
- (id)executeHandlerWithEventClass:(unsigned long)fp8 eventID:(unsigned long)fp12 andArguments:(id)fp16 error:(id *)fp20;
@end

@interface NSArray (DateComparisonForRecents)
- (int)indexOfOldestDate;
- (int)indexOfThirdDate;
@end

@interface NSArray (MessagesFromMixedStoresConvenience)
- (id)dictionaryWithMessagesSortedByStore;
- (id)dictionaryWithMessagesSortedByMailbox;
@end

@interface NSMutableArray (LockedAdditions)
- (void)addObjectsFromArrayUsingLock:(id)fp8;
@end

@interface NSMutableArray (SortedArrayExtensions)
- (unsigned int)insertObject:(id)fp8 usingSortFunction:(void *)fp12 context:(void *)fp16;
- (unsigned int)indexOfObject:(id)fp8 usingSortFunction:(void *)fp12 context:(void *)fp16;
@end

@interface NSMutableArray (Convenience)
- (BOOL)insertObjectIfAbsent:(id)fp8 usingSortFunction:(void *)fp12 context:(void *)fp16;
- (BOOL)addObjectIfAbsent:(id)fp8;
- (BOOL)addObjectIfAbsentAccordingToEquals:(id)fp8;
- (void)addObjectsFromSet:(id)fp8;
@end

@interface NSArray (DerivedArray)
- (id)arrayByApplyingSelector:(SEL)fp8;
- (id)indicesOfStringsWithPrefix:(id)fp8;
@end

@interface NSArray (removeSelf)
- (id)componentsJoinedByData:(id)fp8;
- (id)attributedComponentsJoinedByString:(id)fp8;
@end

@interface NSMutableAttributedString (MessageFrameworkAdditions)
- (void)removeTabs;
- (void)replaceCustomAttachmentAttributesWithAttachments:(id)fp8 confirmWithView:(id)fp12;
- (void)_removeAttachmentsAndReplaceWithCustomAttribute:(BOOL)fp8;
- (void)removeAllAttachmentsAndReplaceWithCustomAttachmentAttribute;
- (void)removeAllAttachments;
- (void)removeAllFormattingExceptAttachments;
- (void)removeQuotingDisplayAttributesInRange:(struct _NSRange)fp8;
- (void)fixQuotingDisplayAttributesInRange:(struct _NSRange)fp8;
- (void)changeQuoteLevelInRange:(struct _NSRange)fp8 by:(int)fp16 undoManager:(id)fp20;
@end

@interface NSAttributedString (FontAdditions)
+ (void)resetHeaderAttributes;
+ (id)boldHeaderAttributes;
+ (id)boldGrayHeaderAttributes;
+ (id)headerAttributes;
+ (id)fixedPitchAttributes;
+ (float)headerFontSize;
@end

@interface NSAttributedString (lockedRTFParsing)
+ (id)lockedAttributedStringFromRTFDFile:(id)fp8;
- (BOOL)lockedWriteRTFDToFile:(id)fp8 atomically:(BOOL)fp12;
@end

@interface NSAttributedString (MessagePasteboardSupport)
+ (id)attributedStringFromMessageData:(id)fp8;
- (id)messageDataForRange:(struct _NSRange)fp8;
@end

@interface NSAttributedString (AddressingSupport)
- (id)addressAtIndex:(int)fp8;
- (id)addressListForRange:(struct _NSRange)fp8;
@end

@interface NSAttributedString (find_attribute)
- (id)nextAttribute:(id)fp8 fromLocation:(unsigned int)fp12 effectiveRange:(struct _NSRange *)fp16;
@end

@interface NSAttributedString (plain_or_rich)
- (id)attachments;
- (id)attachmentsInRange:(struct _NSRange)fp8;
- (id)mimeTextAttachments;
- (struct _NSRange)rangeOfAttachment:(id)fp8;
- (BOOL)containsAttachments;
- (BOOL)containsAttachmentsThatCouldConfuseWindowsClients;
- (BOOL)containsRichTextInRange:(struct _NSRange)fp8;
- (BOOL)containsRichText;
- (BOOL)containsOnlyAttachments;
@end

@interface NSAttributedString (IndexingSupport)
- (id)stringForIndexing;
@end

@interface MimeTextAttachment (IndexingSupport)
- (id)stringForIndexing;
@end

@interface NSTextAttachment (IndexingSupport)
- (id)stringForIndexing;
@end

@interface NSBundle (MessageFrameworkAdditions)
- (BOOL)loadNibNamed:(id)fp8 owner:(id)fp12;
@end

@interface NSCharacterSet (NSCharacterSetUtils)
+ (id)goodFileCharacterSet;
@end

@interface NSColor (NSColorUtilities)
+ (id)allQuotingColors;
+ (id)defaultQuotingColors;
+ (id)allHighlightColors;
+ (int)highlightColorValueForColor:(id)fp8;
+ (id)colorForHighlightColorValue:(int)fp8;
+ (id)colorPlist;
+ (int)intWithIdentifierColor:(id)fp8;
+ (id)identifierForColor:(id)fp8;
+ (id)colorForIdentifier:(id)fp8;
+ (id)colorForEnrichedValue:(id)fp8;
+ (void)_configureColorMenuForBoneHeadClients:(id)fp8;
+ (void)configureColorMenu:(id)fp8;
+ (id)createSwatchForColor:(id)fp8;
+ (id)colorWithIntValue:(int)fp8;
+ (void)setThreadBackgroundColor:(id)fp8;
+ (id)lighterThreadBackgroundColor;
+ (void)clearThreadBackgroundColors;
+ (id)threadBackgroundColor;
+ (id)junkMailColor;
+ (id)linkColor;
+ (id)visitedLinkColor;
+ (id)activeLinkColor;
- (int)intValue;
@end

@interface NSMutableData (NSDataUtils)
- (void)appendCString:(const char *)fp8;
- (void)appendByte:(BOOL)fp8;
- (void)convertNetworkLineEndingsToUnix;
@end

@interface NSData (NSDataUtils)
- (id)unquotedFromSpaceDataWithRange:(struct _NSRange)fp8;
- (id)quotedFromSpaceDataForMessage;
- (struct _NSRange)rangeOfRFC822HeaderData;
- (id)subdataToIndex:(unsigned int)fp8;
- (id)subdataFromIndex:(unsigned int)fp8;
- (struct _NSRange)rangeOfData:(id)fp8;
- (struct _NSRange)rangeOfData:(id)fp8 options:(unsigned int)fp12;
- (struct _NSRange)rangeOfData:(id)fp8 options:(unsigned int)fp12 range:(struct _NSRange)fp16;
- (struct _NSRange)rangeOfByteFromSet:(id)fp8;
- (struct _NSRange)rangeOfByteFromSet:(id)fp8 options:(unsigned int)fp12;
- (struct _NSRange)rangeOfByteFromSet:(id)fp8 options:(unsigned int)fp12 range:(struct _NSRange)fp16;
- (struct _NSRange)rangeOfCString:(const char *)fp8;
- (struct _NSRange)rangeOfCString:(const char *)fp8 options:(unsigned int)fp12;
- (struct _NSRange)rangeOfCString:(const char *)fp8 options:(unsigned int)fp12 range:(struct _NSRange)fp16;
- (id)componentsSeparatedByData:(id)fp8;
- (id)dataByConvertingUnixNewlinesToNetwork;
- (id)MD5Digest;
@end

@interface NSEvent (MessageFrameworkAdditions)
+ (BOOL)isShiftKeyDown;
+ (BOOL)isOptionKeyDown;
@end

@interface NSFileHandle (MessageAdditions)
+ (id)createFileAtPath:(id)fp8 flags:(int)fp12 mode:(int)fp16;
+ (id)fileHandleForUniqueFile:(id *)fp8 atPath:(id)fp12 mode:(int)fp16 extension:(id)fp20;
+ (id)fileHandleForUniqueFile:(id *)fp8 atPath:(id)fp12 mode:(int)fp16;
+ (id)fileHandleForTempFile:(id *)fp8 atPath:(id)fp12 mode:(int)fp16;
- (BOOL)writeLossyString:(id)fp8;
- (BOOL)writeBytes:(const char *)fp8 length:(int)fp12;
@end

@interface NSFileManager (NSFileManagerAdditions)
- (id)makeUniqueDirectoryWithPath:(id)fp8;
- (BOOL)makeCompletePath:(id)fp8 mode:(int)fp12;
- (BOOL)canWriteToDirectoryAtPath:(id)fp8;
- (BOOL)canWriteToFileAtPath:(id)fp8;
- (void)deleteFilesInArray:(id)fp8 fromDirectory:(id)fp12;
- (long long)fileSizeAtPath:(id)fp8 traverseLink:(BOOL)fp12;
- (id)fileModificationDateAtPath:(id)fp8 traverseLink:(BOOL)fp12;
- (id)rawDirectoryContentsAtPath:(id)fp8;
- (id)pathsAtDirectory:(id)fp8 beginningWithString:(id)fp12;
- (void)deleteFilesInSortedArray:(id)fp8 matchingPrefix:(id)fp12 fromDirectory:(id)fp16;
@end

@interface PlaceholderFileWrapper : NSFileWrapper
{
}

- (BOOL)isPlaceholder;

@end

@interface HFSFileWrapper : NSFileWrapper
{
}

- (void)dealloc;
- (void)finalize;
- (BOOL)createEmptyAttachmentAtPath:(id)fp8;
- (BOOL)_emptyAttachmentExists;
- (id)emptyAttachmentPath;
- (void)removeEmptyAttachment;
- (void)setSavedPath:(id)fp8;
- (id)savedPath;
- (BOOL)writeToFile:(id)fp8 atomically:(BOOL)fp12 updateFilenames:(BOOL)fp16;
- (id)iconCreateIfNecessary:(BOOL)fp8;
- (id)initWithPath:(id)fp8;
- (void)setPreferredFilename:(id)fp8;
- (void)setIcon:(id)fp8;
- (id)icon;
- (BOOL)isPlaceholder;
- (BOOL)_updateFromPath:(id)fp8 checkOnly:(BOOL)fp12 exists:(char *)fp16;

@end

@interface NSFileWrapper (ArchivedData)
- (id)archivedDataWithPartNumber:(id)fp8;
@end

@interface NSFileWrapper (PersistenceWithoutLosingMetadata)
- (id)dictionaryRepresentation;
- (id)initWithDictionaryRepresentation:(id)fp8;
@end

@interface NSFileWrapper (HFSExtensions)
+ (id)allocWithZone:(struct _NSZone *)fp8;
- (void)setResourceForkData:(id)fp8;
- (id)resourceForkData;
- (void)setType:(unsigned long)fp8;
- (unsigned long)type;
- (void)setCreator:(unsigned long)fp8;
- (unsigned long)creator;
- (void)setFinderFlags:(unsigned short)fp8;
- (unsigned short)finderFlags;
- (void)setShouldHideExtension:(BOOL)fp8;
- (BOOL)shouldHideExtension;
- (void)setMimeType:(id)fp8;
- (id)mimeType;
- (void)setContentID:(id)fp8;
- (id)contentID;
- (void)setWhereFroms:(id)fp8;
- (id)whereFroms;
- (void)setMessageID:(id)fp8;
- (id)messageID;
- (BOOL)couldConfuseWindowsClients;
- (void)setShouldBeViewedInline:(BOOL)fp8;
- (BOOL)shouldBeViewedInline;
- (BOOL)isImageFile;
- (void)setImageSize:(struct _NSSize)fp8 imageBytes:(unsigned int)fp16;
- (struct _NSSize)imageSize;
- (unsigned int)imageBytes;
- (id)preferredFilenameWithoutHiddenExtension;
- (BOOL)isPlaceholder;
- (id)iconCreateIfNecessary:(BOOL)fp8;
- (id)tmpFullPath;
@end

@interface NSImage (ASBetterImageLookup)
+ (id)betterImageNamed:(id)fp8;
+ (id)appIconIncludingUserCustomization;
+ (id)appIconWithUnreadBadge:(int)fp8 baseImageName:(id)fp12;
+ (id)createScaledImageFromImage:(id)fp8 desiredSize:(struct _NSSize)fp12;
+ (id)imagePasteboardTypesWithPreferenceToPNG;
@end

@interface MessageKeychainManager : NSObject
{
}

+ (void)initialize;
+ (unsigned long)_protocolForAccountType:(id)fp8;
+ (long)_setPassword:(id)fp8 forKeychainItem:(struct OpaqueSecKeychainItemRef *)fp12;
+ (id)_passwordForHost:(id)fp8 username:(id)fp12 port:(int)fp16 protocol:(unsigned long)fp20 itemRef:(struct OpaqueSecKeychainItemRef **)fp24;
+ (id)passwordForHost:(id)fp8 username:(id)fp12 port:(int)fp16 protocol:(id)fp20;
+ (void)setPassword:(id)fp8 forHost:(id)fp12 username:(id)fp16 port:(int)fp20 protocol:(id)fp24;
+ (void)removePasswordForHost:(id)fp8 username:(id)fp12 port:(int)fp16 protocol:(id)fp20;
+ (id)_passwordForGenericAccount:(id)fp8 service:(id)fp12 itemRef:(struct OpaqueSecKeychainItemRef **)fp16;
+ (id)passwordForServiceName:(id)fp8 accountName:(id)fp12;
+ (void)setPassword:(id)fp8 forServiceName:(id)fp12 accountName:(id)fp16;
+ (void)removePasswordForServiceName:(id)fp8 accountName:(id)fp12;
+ (int)systemTrustForCertificate:(struct OpaqueSecCertificateRef *)fp8 trust:(struct OpaqueSecTrustRef *)fp12 address:(id)fp16 policy:(int)fp20 usage:(int)fp24;
+ (int)userTrustForCertificate:(struct OpaqueSecCertificateRef *)fp8 address:(id)fp12 policy:(int)fp16 usage:(int)fp20;
+ (int)trustForCertificate:(struct OpaqueSecCertificateRef *)fp8 address:(id)fp12 policy:(int)fp16 usage:(int)fp20;
+ (int)trustForTrust:(struct OpaqueSecTrustRef *)fp8 certificate:(struct OpaqueSecCertificateRef *)fp12 policy:(int)fp16;
+ (struct OpaqueSecCertificateRef *)copyTrustedCertificateForAddress:(id)fp8 policy:(int)fp12 usage:(int)fp16;
+ (struct OpaqueSecCertificateRef *)copyTrustedSigningCertificateForAddress:(id)fp8;
+ (BOOL)canSignMessagesFromAddress:(id)fp8;
+ (struct OpaqueSecCertificateRef *)copyTrustedEncryptionCertificateForAddress:(id)fp8;
+ (BOOL)canEncryptMessagesToAddress:(id)fp8;
+ (BOOL)canEncryptMessagesToAddresses:(id)fp8 sender:(id)fp12;
+ (struct OpaqueSecPolicyRef *)copyPolicy:(int)fp8 address:(id)fp12 usage:(int)fp16;
+ (int)userTrustForCertificate:(const struct OpaqueSecCertificateRef *)fp8 policy:(int)fp12;
+ (void)setUserTrust:(int)fp8 forCertificate:(const struct OpaqueSecCertificateRef *)fp12 policy:(int)fp16;

@end

@interface NSLock (MessageAdditions)
- (void)waitForLock;
@end

@interface NSObject (LockingAdditions)
+ (void)clearLocks;
- (void)lock;
- (BOOL)tryLock;
- (void)lockWithPriority;
- (BOOL)tryLockWithPriority;
- (void)unlock;
- (void)yieldLock;
- (BOOL)isLocked;
@end

@interface NSScanner (NSScannerUtils)
- (BOOL)scanStringOfLength:(unsigned int)fp8 intoString:(id *)fp12;
- (BOOL)betterScanUpToCharactersFromSet:(id)fp8 intoString:(id *)fp12;
- (BOOL)scanEndIntoString:(id *)fp8;
- (id)nextTokenWithPunctuation:(id)fp8;
- (BOOL)scanUpAndOverString:(id)fp8;
@end

@interface NSSet (MessageAdditions)
- (id)getAllObjectsAsArray;
- (void)getAllObjects:(id *)fp8;
@end

@interface NSMutableSet (MessageAdditions)
- (id)uniquedObject:(id)fp8;
- (void)removeObjectsInArray:(id)fp8;
@end

@interface _NSSocket : NSObject
{
    struct __CFReadStream *_readStream;
    struct __CFWriteStream *_writeStream;
    NSString *_protocol;
    void *_stats;
    void *_request;
    unsigned int _numTimeoutSecs:16;
    unsigned int _openCompleted:1;
    unsigned int _canRead:1;
    unsigned int _canWrite:1;
    unsigned int _error:1;
    unsigned int _closed:1;
    unsigned int _ignoreCerts:1;
    float _lastReadTime;
}

+ (void)_runIOThread;
+ (void)handlePortMessage:(id)fp8;
+ (void)initialize;
+ (int)simulatedSocketSpeed;
+ (void)setSimulatedSocketSpeed:(int)fp8;
- (id)securityProtocol;
- (BOOL)setSecurityProtocol:(id)fp8;
- (void)setIgnoreSSLCertificates:(BOOL)fp8;
- (id)serverCertificates;
- (id)initWithTimeout:(int)fp8;
- (id)init;
- (int)timeout;
- (void)setTimeout:(int)fp8;
- (void)dealloc;
- (void)finalize;
- (void)abort;
- (BOOL)isReadable;
- (BOOL)isWritable;
- (BOOL)isValid;
- (BOOL)connectToHost:(id)fp8 withPort:(unsigned int)fp12 protocol:(id)fp16;
- (int)writeBytes:(const char *)fp8 length:(int)fp12;
- (int)readBytes:(char *)fp8 length:(int)fp12;
- (id)remoteHostname;
- (unsigned int)remotePortNumber;
- (id)sourceIPAddress;
- (int)fileDescriptor;
- (float)lastReadTime;

@end

@interface NSSound (MessageAdditions)
+ (void)_playNextSound;
+ (void)_playSound;
+ (void)sound:(id)fp8 didFinishPlaying:(BOOL)fp12;
+ (void)_setupPlayList;
+ (void)_addSoundOrPathToPlayList:(id)fp8 playImmediately:(BOOL)fp12;
+ (void)addSoundToPlayList:(id)fp8 playImmediately:(BOOL)fp12;
+ (void)addSoundPathToPlayList:(id)fp8 playImmediately:(BOOL)fp12;
+ (id)validPathToSound:(id)fp8;
+ (id)systemLibrarySoundsDirs;
+ (id)librarySoundsDirs;
+ (id)networkLibrarySoundsDirs;
+ (id)tildeLibrarySoundsDirs;
+ (id)appendSoundsToPaths:(id)fp8;
+ (id)soundsAtPaths:(id)fp8;
@end

@interface NSString (NSStringUtils)
+ (id)messageIDStringWithDomainHint:(id)fp8;
+ (id)stringWithData:(id)fp8 encoding:(unsigned int)fp12;
+ (id)stringRepresentationForBytes:(long long)fp8;
+ (id)stringWithAttachmentCharacter;
- (BOOL)boolValue;
- (id)smartCapitalizedString;
- (id)stringByReplacingString:(id)fp8 withString:(id)fp12;
- (id)stringByRemovingCharactersInSet:(id)fp8;
- (id)stringByRemovingLineEndingsForHTML;
- (BOOL)containsOnlyWhitespace;
- (BOOL)containsOnlyBreakingWhitespace;
- (id)stringByLocalizingReOrFwdPrefix;
- (unsigned int)subjectPrefixLength;
- (id)fileSystemString;
- (id)stringWithNoExtraSpaces;
- (int)compareAsInts:(id)fp8;
- (id)MD5Digest;
- (id)messageIDSubstring;
- (id)encodedMessageID;
- (id)createStringByEndTruncatingForWidth:(float)fp8 usingFont:(id)fp12;
- (id)uniqueFilenameWithRespectToFilenames:(id)fp8;
- (int)caseInsensitiveCompareExcludingXDash:(id)fp8;
- (id)componentsSeparatedByPattern:(id)fp8;
@end

@interface ObjectCache : NSObject
{
    unsigned int _arrayCapacity;
    struct __CFArray *_keysAndValues;
    BOOL _useIsEqual;
}

- (id)initWithCapacity:(unsigned int)fp8;
- (void)dealloc;
- (void)finalize;
- (void)setCapacity:(unsigned int)fp8;
- (void)setUsesIsEqualForComparison:(BOOL)fp8;
- (void)setObject:(id)fp8 forKey:(id)fp12;
- (id)objectForKey:(id)fp8;
- (void)removeObjectForKey:(id)fp8;
- (void)removeAllObjects;
- (BOOL)isObjectInCache:(id)fp8;

@end

@interface NSString (PathUtils)
+ (id)pathWithDirectory:(id)fp8 filename:(id)fp12 extension:(id)fp16;
- (id)uniquePathWithMaximumLength:(int)fp8;
- (BOOL)deletePath;
- (BOOL)makeDirectoryWithMode:(int)fp8;
- (BOOL)makePathWritable:(int *)fp8;
- (BOOL)makePathReadOnly:(int *)fp8;
- (BOOL)makePathReadOnly:(int *)fp8 recursively:(BOOL)fp12;
- (void)setPosixFilePermissions:(int)fp8;
- (BOOL)isSubdirectoryOfPath:(id)fp8;
- (id)stringByReallyAbbreviatingWithTildeInPath;
- (id)betterStringByResolvingSymlinksInPath;
@end

@interface SoundMenu : NSMenu
{
    int _insertionIndex;
    NSMenuItem *_otherItem;
}

- (id)_addItemWithTitle:(id)fp8;
- (id)init;
- (id)initAndLoadSounds;
- (void)playSoundForItemAtIndex:(int)fp8;
- (int)addSoundPath:(id)fp8;
- (void)performActionForItemAtIndex:(int)fp8;
- (id)otherMenuItem;
- (void)_soundMenuDidAddItem:(id)fp8;

@end

@interface SoundPopUpButton : NSPopUpButton
{
    NSButton *addSoundButton;
    NSButton *removeSoundButton;
    NSButton *doneButton;
    NSTableView *soundTableView;
    NSMutableArray *userSounds;
    NSPanel *soundPanel;
    id delegate;
    NSMenu *soundMenu;
    NSString *_selectedItem;
    NSMenuItem *_otherItem;
    BOOL _amIAwake;
    BOOL _showSoundsFromBundle;
    BOOL _showSoundsFromDelegate;
    BOOL _showSoundsFromSystemLibrary;
    BOOL _showSoundsFromLibrary;
    BOOL _showSoundsFromNetworkLibrary;
    BOOL _showSoundsFromTildeLibrary;
    BOOL _showNone;
    BOOL _showAddRemove;
}

- (id)_addItemWithTitle:(id)fp8;
- (void)_appendSoundsFromDirectories:(id)fp8;
- (void)_popupMenuChanged:(id)fp8;
- (void)_configureSoundMenu;
- (void)_playSound;
- (void)_playSoundForItemAtIndex:(int)fp8;
- (void)_invalidateSoundMenu;
- (id)otherMenuItem;
- (void)_commonInit;
- (id)initWithFrame:(struct _NSRect)fp8;
- (id)initWithCoder:(id)fp8;
- (void)awakeFromNib;
- (id)menu;
- (id)soundPath;
- (int)selectSoundPath:(id)fp8;
- (void)openPanelDidEnd:(id)fp8 returnCode:(int)fp12 contextInfo:(void *)fp16;
- (void)addRemoveMailSound:(id)fp8;
- (void)soundSheetDidEnd:(id)fp8 returnCode:(int)fp12 contextInfo:(void *)fp16;
- (void)newSoundClicked:(id)fp8;
- (void)removeSoundClicked:(id)fp8;
- (void)doneClicked:(id)fp8;
- (int)numberOfRowsInTableView:(id)fp8;
- (id)tableView:(id)fp8 objectValueForTableColumn:(id)fp12 row:(int)fp16;
- (void)tableViewSelectionDidChange:(id)fp8;
- (BOOL)showSoundsFromBundle;
- (void)setShowSoundsFromBundle:(BOOL)fp8;
- (BOOL)showSoundsFromDelegate;
- (void)setShowSoundsFromDelegate:(BOOL)fp8;
- (BOOL)showSoundsFromSystemLibrary;
- (void)setShowSoundsFromSystemLibrary:(BOOL)fp8;
- (BOOL)showSoundsFromLibrary;
- (void)setShowSoundsFromLibrary:(BOOL)fp8;
- (BOOL)showSoundsFromNetworkLibrary;
- (void)setShowSoundsFromNetworkLibrary:(BOOL)fp8;
- (BOOL)showSoundsFromTildeLibrary;
- (void)setShowSoundsFromTildeLibrary:(BOOL)fp8;
- (BOOL)showNone;
- (void)setShowNone:(BOOL)fp8;
- (BOOL)showAddRemove;
- (void)setShowAddRemove:(BOOL)fp8;
- (void)dealloc;
- (void)finalize;

@end

@interface URLMatch : NSObject
{
    struct _NSRange _range;
    NSString *_url;
}

- (id)initWithRange:(struct _NSRange)fp8 url:(id)fp16;
- (void)dealloc;
- (void)finalize;
- (struct _NSRange)range;
- (id)url;
- (id)description;

@end

@interface URLifier : NSObject
{
}

+ (id)urlMatchesForString:(id)fp8;

@end

@interface UsageCounter : NSObject
{
    NSString *_name;
    NSMutableDictionary *_counts;
    BOOL _isDirty;
}

+ (id)sharedInstance;
+ (BOOL)gatherJunkMailUsageCounts;
+ (void)setGatherJunkMailUsageCounts:(BOOL)fp8;
- (id)initWithName:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)_dictionaryForKey:(id)fp8 createIfNeeded:(BOOL)fp12;
- (void)saveDefaults;
- (unsigned int)numberOfDaysAvailableForKey:(id)fp8;
- (unsigned int)countForKey:(id)fp8;
- (unsigned int)countForKey:(id)fp8 includeToday:(BOOL)fp12;
- (void)removeCountForKey:(id)fp8;
- (void)incrementCountForKey:(id)fp8;
- (void)incrementCountForKey:(id)fp8 byCount:(int)fp12;

@end

@interface NSData (UuEnDeCode)
- (id)uudecodedDataIntoFile:(id *)fp8 mode:(unsigned int *)fp12;
- (id)uuencodedDataWithFile:(id)fp8 mode:(unsigned int)fp12;
@end

@interface WorkerThread : NSThread
{
}

+ (void)initialize;
+ (void)addInvocationToQueue:(id)fp8;
+ (void)_execute:(id)fp8;

@end

@interface NSRunLoop (MessageExtensions)
+ (void)flushQueuedEvents;
@end

@interface RegularExpression : NSObject <NSCopying, NSCoding>
{
    NSString *_expressionString;
    void *_reserved;
}

+ (void)initialize;
+ (id)regularExpressionWithString:(id)fp8;
+ (const char *)getBytesForString:(id)fp8 lossByte:(unsigned char)fp12;
- (void)dealloc;
- (void)finalize;
- (id)initWithExpressionString:(id)fp8;
- (id)initWithExpressionString:(id)fp8 options:(unsigned int)fp12;
- (unsigned int)numberOfSubexpressions;
- (id)init;
- (id)copyWithZone:(struct _NSZone *)fp8;
- (BOOL)isEqual:(id)fp8;
- (unsigned int)hash;
- (id)expressionString;
- (struct _NSRange)matchedRangeForCString:(const char *)fp8 range:(struct _NSRange)fp12 subexpressionRanges:(struct _NSRange *)fp20 count:(unsigned int)fp24;
- (struct _NSRange)matchedRangeForString:(id)fp8 range:(struct _NSRange)fp12 subexpressionRanges:(struct _NSRange *)fp20 count:(unsigned int)fp24;
- (id)initWithCoder:(id)fp8;
- (void)encodeWithCoder:(id)fp8;

@end

@interface MailboxUid (ScriptingSupport)
- (id)objectSpecifier;
- (id)applescriptContainer;
- (id)applescriptChildren;
- (id)messages;
- (void)removeFromMessagesAtIndex:(unsigned int)fp8;
- (id)mailboxName;
- (void)setMailboxName:(id)fp8;
- (id)valueInMessagesWithUniqueID:(id)fp8;
@end

@interface MessageAddressee : NSObject
{
    NSString *_displayName;
    NSString *_address;
    NSString *_type;
    id _message;
}

- (id)initWithDisplayName:(id)fp8 address:(id)fp12 type:(id)fp16 message:(id)fp20;
- (void)dealloc;
- (void)finalize;
- (BOOL)isEqual:(id)fp8;
- (id)formattedAddress;
- (id)displayName;
- (void)setDisplayName:(id)fp8;
- (id)address;
- (void)setAddress:(id)fp8;
- (id)_keyForType;
- (id)objectSpecifier;
- (void)setMessage:(id)fp8;

@end

@interface AppleScriptHeaderRecord : NSObject
{
    NSString *_name;
    id _content;
    Message *_message;
}

- (void)dealloc;
- (void)finalize;
- (id)name;
- (void)setName:(id)fp8;
- (id)content;
- (void)setContent:(id)fp8;
- (id)message;
- (void)setMessage:(id)fp8;
- (id)objectSpecifier;

@end

@interface Message (ScriptingSupport)
- (id)objectSpecifier;
- (void)_setAppleScriptFlag:(id)fp8 state:(BOOL)fp12;
- (BOOL)isRead;
- (void)setIsRead:(BOOL)fp8;
- (BOOL)wasRepliedTo;
- (void)setWasRepliedTo:(BOOL)fp8;
- (BOOL)wasForwarded;
- (void)setWasForwarded:(BOOL)fp8;
- (BOOL)wasRedirected;
- (void)setWasRedirected:(BOOL)fp8;
- (BOOL)isJunk;
- (void)setIsJunk:(BOOL)fp8;
- (BOOL)isDeleted;
- (void)setIsDeleted:(BOOL)fp8;
- (BOOL)isFlagged;
- (void)setIsFlagged:(BOOL)fp8;
- (id)replyTo;
- (id)scriptedMessageSize;
- (id)content;
- (void)_addRecipientsForKey:(id)fp8 toArray:(id)fp12;
- (id)recipients;
- (id)toRecipients;
- (id)ccRecipients;
- (id)bccRecipients;
- (id)container;
- (void)setContainer:(id)fp8;
- (id)messageIDHeader;
- (id)rawSource;
- (id)allHeaders;
- (int)actionColorMessage;
- (void)setBackgroundColor:(int)fp8;
- (id)appleScriptHeaders;
- (id)appleScriptAttachments;
- (id)valueInAppleScriptAttachmentsWithUniqueID:(id)fp8;
@end

@interface LibraryStore (ScriptingSupport)
- (id)objectSpecifierForMessage:(id)fp8;
@end

@interface MessageStore (ScriptingSupport)
- (id)objectSpecifier;
- (id)objectSpecifierForMessage:(id)fp8;
@end

@interface AuthScheme : NSObject
{
}

+ (void)initialize;
+ (id)knownSchemes;
+ (void)registerSchemeClass:(Class)fp8;
+ (id)schemeWithName:(id)fp8;
+ (id)authSchemesForAccount:(id)fp8 connection:(id)fp12;
- (id)retain;
- (unsigned int)retainCount;
- (void)release;
- (Class)connectionClassForAccount:(id)fp8;
- (Class)authenticatorClassForAccount:(id)fp8;
- (unsigned int)defaultPortForAccount:(id)fp8;
- (BOOL)hasEncryption;
- (BOOL)canAuthenticateAccount:(id)fp8 connection:(id)fp12;
- (id)authenticatorForAccount:(id)fp8 connection:(id)fp12;
- (BOOL)requiresPassword;
- (BOOL)requiresDomain;
- (id)name;
- (id)humanReadableName;

@end

@interface SASLAuthenticator : NSObject
{
    void *_context;
    AuthScheme *_authScheme;
    Account *_account;
    int _authenticationState;
}

- (id)initWithAuthScheme:(id)fp8 account:(id)fp12 connection:(id)fp16;
- (void)dealloc;
- (void)finalize;
- (id)authScheme;
- (id)account;
- (id)saslName;
- (id)responseForServerData:(id)fp8;
- (int)authenticationState;
- (void)setAuthenticationState:(int)fp8;
- (BOOL)justSentPlainTextPassword;
- (id)securityLayer;
- (id)localAddress;
- (id)remoteAddress;
- (BOOL)isUsingSSL;

@end

@interface Connection (Gross)
- (id)_nssocket;
@end

@interface LoginAuthenticator : SASLAuthenticator
{
    BOOL _justSentPassword;
}

- (id)saslName;
- (id)responseForServerData:(id)fp8;
- (BOOL)justSentPlainTextPassword;

@end

@interface PlainAuthenticator : SASLAuthenticator
{
}

- (id)saslName;
- (id)responseForServerData:(id)fp8;
- (BOOL)justSentPlainTextPassword;

@end

@interface PlainAuthScheme : AuthScheme
{
}

- (Class)authenticatorClassForAccount:(id)fp8;
- (id)authenticatorForAccount:(id)fp8 connection:(id)fp12;
- (BOOL)canAuthenticateAccount:(id)fp8 connection:(id)fp12;
- (id)name;
- (id)humanReadableName;

@end

@interface CRAM_MD5Authenticator : SASLAuthenticator
{
}

- (id)responseForServerData:(id)fp8;

@end

@interface CRAM_MD5AuthScheme : AuthScheme
{
}

- (Class)authenticatorClassForAccount:(id)fp8;
- (id)name;
- (id)humanReadableName;
- (BOOL)sendsPlainTextPasswords;
- (BOOL)hasEncryption;
- (BOOL)canAuthenticateAccount:(id)fp8 connection:(id)fp12;

@end

@interface MailAddressManager : NSObject <ABImageClient>
{
    ABAddressBook *_addressBook;
    ObjectCache *_imageCache;
    NSMutableDictionary *emailsAwaitingImage;
    NSMutableDictionary *recordsCache;
    NSMutableSet *addressesWithNoRecords;
    BOOL needToTrimRecordCaches;
    BOOL singleThreaded;
}

+ (id)addressManager;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (void)setOperatesInSingleThread:(BOOL)fp8;
- (BOOL)operatesInSingleThread;
- (id)loadAddressBookAsynchronously;
- (void)loadAddressBookSynchronously;
- (void)_importDidBegin:(id)fp8;
- (void)_importDidUpdate:(id)fp8;
- (void)_importDidEnd:(id)fp8;
- (id)bestRecordMatchingFormattedAddress:(id)fp8;
- (void)trimRecordCachesAfterDelay;
- (void)trimRecordCaches;
- (void)addressBookDidChange:(id)fp8;
- (void)recordsMatchingDictionary:(id)fp8;
- (id)recordsMatchingSearchString:(id)fp8;
- (BOOL)addressBookPerson:(id)fp8 nameMatchesSearchWords:(id)fp12;
- (BOOL)email:(id)fp8 matchesSearchWords:(id)fp12;
- (id)betterRecordOfRecent:(id)fp8 addressBook:(id)fp12;
- (id)recordForUniqueId:(id)fp8;
- (id)groupsMatchingString:(id)fp8;
- (void)updateDatesForRecentRecord:(id)fp8;
- (void)_addAddresses:(id)fp8 asRecent:(BOOL)fp12;
- (void)addRecentAddresses:(id)fp8;
- (void)addAddresses:(id)fp8;
- (id)addRecentToAddressBook:(id)fp8;
- (id)addAddressToAddressBook:(id)fp8;
- (void)removeRecentAddresses:(id)fp8;
- (void)removeRecentRecord:(id)fp8;
- (id)addEmailAddressToCardMatchingFirstAndLastNameFromFormattedAddress:(id)fp8;
- (id)addressBookRecordForRecentRecord:(id)fp8 orEmail:(id)fp12;
- (id)addressBookPersonForEmail:(id)fp8;
- (id)addressBookRecordsForFirstName:(id)fp8 lastName:(id)fp12;
- (id)imageForMailAddress:(id)fp8;
- (void)fetchImageForAddress:(id)fp8;
- (void)consumeImageData:(id)fp8 forTag:(int)fp12;
- (void)cacheImage:(id)fp8 forAddress:(id)fp12;
- (id)groups;
- (void)_addEmailsFromGroup:(id)fp8 toDictionary:(id)fp12;
- (id)emailAddressesFromGroup:(id)fp8;
- (id)expandPrivateAliases:(id)fp8;

@end

@interface GSSAPIAuthenticator : SASLAuthenticator <SASLSecurityLayer>
{
    unsigned int _maxBufferSize:16;
    unsigned int _substate:2;
    unsigned int _securityLevel:4;
    void *_gssContext;
    void *_targetName;
    unsigned int _qopState;
    int _requestConfidentiality;
}

+ (id)allocWithZone:(struct _NSZone *)fp8;
- (void)setAuthenticationState:(int)fp8;
- (id)responseForServerData:(id)fp8;
- (id)securityLayer;
- (unsigned int)encryptionBufferSize;
- (id)createDecryptedDataForBytes:(const char *)fp8 length:(unsigned int)fp12;
- (id)createEncryptedDataForBytes:(const char *)fp8 length:(unsigned int)fp12;

@end

@interface GSSAPIAuthScheme : AuthScheme
{
}

- (Class)authenticatorClassForAccount:(id)fp8;
- (id)name;
- (id)humanReadableName;
- (BOOL)requiresPassword;
- (BOOL)hasEncryption;
- (BOOL)canAuthenticateAccount:(id)fp8 connection:(id)fp12;

@end

@interface KerberosV4Authenticator : SASLAuthenticator <SASLSecurityLayer>
{
    struct KClientSessionOpaque *_session;
    struct KClientPrincipalOpaque *_serverPrincipal;
    unsigned int _checksum;
    unsigned int _securityLevel:4;
    unsigned int _maxCipherBufferSize:24;
}

+ (id)allocWithZone:(struct _NSZone *)fp8;
- (void)dealloc;
- (void)finalize;
- (void)setAuthenticationState:(int)fp8;
- (id)responseForServerData:(id)fp8;
- (id)securityLayer;
- (unsigned int)encryptionBufferSize;
- (id)createDecryptedDataForBytes:(const char *)fp8 length:(unsigned int)fp12;
- (id)createEncryptedDataForBytes:(const char *)fp8 length:(unsigned int)fp12;

@end

@interface KerberosV4AuthScheme : AuthScheme
{
}

- (Class)authenticatorClassForAccount:(id)fp8;
- (id)name;
- (id)humanReadableName;
- (BOOL)requiresPassword;
- (BOOL)hasEncryption;
- (BOOL)canAuthenticateAccount:(id)fp8 connection:(id)fp12;

@end

@interface Account (TempHack)
- (id)kerberosServerPrincipal;
@end

@interface KPOPConnection : POP3Connection
{
}

+ (id)allocWithZone:(struct _NSZone *)fp8;
- (BOOL)connectUsingAccount:(id)fp8;
- (BOOL)authenticateUsingAccount:(id)fp8;

@end

@interface KPOPAuthScheme : AuthScheme
{
}

- (BOOL)supportsAccountType:(id)fp8;
- (Class)connectionClassForAccount:(id)fp8;
- (unsigned int)defaultPortForAccount:(id)fp8;
- (Class)authenticatorClassForAccount:(id)fp8;
- (BOOL)requiresPassword;
- (id)name;
- (id)humanReadableName;
- (BOOL)hasEncryption;
- (BOOL)canAuthenticateAccount:(id)fp8 connection:(id)fp12;

@end

@interface ABAddressBook (MailAdditions)
+ (BOOL)firstNameShouldBeFirst;
+ (BOOL)firstNameShouldBeFirstForRecord:(id)fp8;
- (id)recordsCompletingSearchString:(id)fp8 searchSubscribedContent:(BOOL)fp12;
- (id)recordsCompletingSearchString:(id)fp8;
- (id)_bestRecordMatchingFormattedAddress:(id)fp8 inSubscribedContent:(BOOL)fp12;
- (id)bestRecordMatchingFormattedAddress:(id)fp8;
- (id)recordWithEmailAddress:(id)fp8;
@end

@interface ABLDAP_ResultElement (MailAdditions)
- (BOOL)isGroup;
- (int)recordType;
- (id)middleName;
- (id)extension;
- (id)firstAndMiddleNames;
- (id)lastNameAndExtension;
- (id)compoundName;
- (id)_fullName;
- (id)compoundNameAndEmail;
- (BOOL)exactlyMatchesString:(id)fp8;
@end

@interface ABMailRecent (MailAdditions)
- (id)mostRecentDate;
- (BOOL)hasRelatedAddressBookRecord;
- (BOOL)isGroup;
- (id)_fullName;
@end

@interface ABGroup (MailAdditions)
- (BOOL)isGroup;
- (id)_fullName;
- (BOOL)hasEmailAddress:(id)fp8;
@end

@interface ABPerson (MailAdditions)
- (BOOL)hasEmailAddress:(id)fp8;
- (BOOL)isMe;
- (id)compoundNameAndEmailForGroupMembership:(id)fp8;
- (BOOL)isGroup;
@end

@interface ABRecord (MailAdditions)
- (id)firstName;
- (id)lastName;
- (id)middleName;
- (id)extension;
- (id)_fullName;
- (id)email;
- (id)compoundName;
- (id)compoundNameAndEmail;
- (BOOL)isGroup;
@end

@interface CachingABRecord : NSObject
{
    ABRecord *record;
    NSMutableDictionary *propertyValues;
    NSMutableArray *matchingEmails;
    CachingABRecord *associatedRecord;
}

- (id)initWithABRecord:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)valueForProperty:(id)fp8;
- (BOOL)setValue:(id)fp8 forProperty:(id)fp12;
- (id)firstName;
- (id)lastName;
- (id)middleName;
- (id)extension;
- (id)firstAndMiddleNames;
- (id)lastNameAndExtension;
- (id)_fullName;
- (id)email;
- (id)emailAddresses;
- (BOOL)isGroup;
- (id)compoundName;
- (id)compoundNameAndEmail;
- (id)uniqueId;
- (int)recordType;
- (BOOL)exactlyMatchesString:(id)fp8;
- (id)associatedRecord;
- (BOOL)isRecentRecord;
- (BOOL)hasHandles;
- (BOOL)hasEmailAddress:(id)fp8;
- (BOOL)hasRelatedAddressBookRecord;
- (id)mostRecentDate;
- (id)record;
- (id)matchingEmails;
- (void)addMatchingEmail:(id)fp8;
- (BOOL)isEqual:(id)fp8;
- (id)methodSignatureForSelector:(SEL)fp8;
- (void)forwardInvocation:(id)fp8;

@end

@interface WebHTMLAttachment : NSTextAttachment
{
    WebMessageDocument *_document;
}

- (id)initWithDocument:(id)fp8;
- (id)fileWrapper;
- (id)document;
- (id)htmlString;

@end

@interface NSMutableAttributedString (WebHTMLAttachment)
- (void)inlineHTMLAttachmentsInRange:(struct _NSRange)fp8;
@end

@interface MimePart (SMIMEExtensions)
- (id)decodeMultipartSigned;
- (id)decodeApplicationPkcs7_mime;
- (id)createSignedPartWithData:(id)fp8 sender:(id)fp12 signatureData:(id *)fp16;
- (id)createEncryptedPartWithData:(id)fp8 recipients:(id)fp12 encryptedData:(id *)fp16;
@end

@interface MessageSigner : NSObject
{
    int _verificationStatus;
    NSArray *_certificates;
    struct OpaqueSecTrustRef *_trust;
    int _trustResult;
}

- (void)dealloc;
- (void)finalize;
- (id)initWithCmsSignerInfo:(void *)fp8 trust:(struct OpaqueSecTrustRef *)fp12;
- (id)description;
- (id)emailAddress;
- (struct OpaqueSecCertificateRef *)signingCertificate;
- (id)certificates;
- (id)signingError;

@end

@interface MFError (MessageSignerSupport)
- (id)messageSigner;
@end

@interface NSError (MessageSignerSupport)
- (id)messageSigner;
@end

@interface MimeCharset : NSObject
{
    unsigned int _encoding;
    NSString *_primaryLanguage;
    NSString *_charsetName;
    unsigned int _coversLargeUnicodeSubset:1;
    unsigned int _useBase64InHeaders:1;
    unsigned int _canBeUsedForOutgoingMessages:1;
}

+ (id)allMimeCharsets;
+ (id)charsetForEncoding:(unsigned long)fp8;
+ (id)preferredMimeCharset;
- (id)retain;
- (void)release;
- (unsigned int)retainCount;
- (id)initWithEncoding:(unsigned long)fp8;
- (unsigned long)encoding;
- (id)charsetName;
- (BOOL)canBeUsedForOutgoingMessages;
- (BOOL)coversLargeUnicodeSubset;
- (BOOL)useBase64InHeaders;
- (id)displayName;
- (id)primaryLanguage;
- (id)description;

@end

@interface NSString (MimeCharsetSupport)
- (id)bestMimeCharset;
@end

@interface SizeEngine : NSObject
{
    MailAccount *_account;
    QuotaUsage *_totalUsage;
    ActivityMonitor *_monitor;
    int _monitorAccessKey;
}

- (id)initWithAccount:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)account;
- (id)totalUsage;
- (void)refresh;
- (void)cancel;

@end

@interface SizeEngine (MFPrivate)
- (void)_lockedStartWorkerThreadIfNeeded;
- (void)_workerThreadFinished:(id)fp8;
- (void)_runWorkerThread;
- (BOOL)_prepareToRefresh;
- (BOOL)_shouldStartWorkerThread;
- (void)_postChangeNotificationWithUserInfo:(id)fp8;
@end

@interface QuotaUsage : NSObject
{
    CDAnonymousStruct7 current;
    CDAnonymousStruct7 maximum;
}

- (unsigned int)hash;
- (BOOL)isEqual:(id)fp8;
- (id)debugDescription;

@end

@interface LibraryMessage : Message
{
    unsigned int _libraryID;
    NSString *_remoteID;
    unsigned int _uid;
    NSArray *_references;
    unsigned int _size;
    CDAnonymousStruct11 _imapFlags;
    unsigned int _mailboxID;
    unsigned int _originalMailboxID;
    NSString *_messageID;
}

+ (id)messageWithLibraryID:(unsigned int)fp8;
- (id)initWithLibraryID:(unsigned int)fp8;
- (void)setLibraryID:(unsigned int)fp8;
- (id)messageID;
- (id)persistentID;
- (unsigned int)libraryID;
- (unsigned int)mailboxID;
- (void)setMailboxID:(unsigned int)fp8;
- (unsigned int)originalMailboxID;
- (void)setOriginalMailboxID:(unsigned int)fp8;
- (id)references;
- (BOOL)setReferences:(id)fp8;
- (id)subject;
- (id)sender;
- (id)to;
- (id)messageIDHeaderDigest;
- (id)inReplyToHeaderDigest;
- (unsigned int)messageSize;
- (void)setMessageSize:(unsigned int)fp8;
- (id)messageStore;
- (void)setMessageStore:(id)fp8;
- (id)remoteMessageStore;
- (void)setRemoteMessageStore:(id)fp8;
- (id)mailbox;
- (void)_updateUID;
- (void)setRemoteID:(id)fp8;
- (id)remoteID;
- (BOOL)isEqual:(id)fp8;
- (unsigned int)hash;
- (void)setIMAPFlags:(CDAnonymousStruct11)fp8;
- (CDAnonymousStruct11)imapFlags;
- (unsigned long)uid;
- (void)setUid:(unsigned long)fp8;
- (BOOL)isPartial;
- (void)setIsPartial:(BOOL)fp8;
- (BOOL)isMessageContentsLocallyAvailable;
- (BOOL)partsHaveBeenCached;
- (void)setPartsHaveBeenCached:(BOOL)fp8;
- (void)setPreferredEncoding:(unsigned long)fp8;
- (BOOL)hasTemporaryUid;
- (void)setHasTemporaryUid:(BOOL)fp8;
- (id)mailboxName;
- (int)compareByUidWithMessage:(id)fp8;
- (void)setMessageFlagsWithoutCommitting:(unsigned long)fp8;
- (void)setMessageFlags:(unsigned long)fp8;
- (void)setFlags:(unsigned long long)fp8;
- (void)setColorHasBeenEvaluated:(BOOL)fp8;
- (void)setColorHasBeenEvaluatedWithoutCommitting:(BOOL)fp8;
- (void)setColorWithoutCommitting:(id)fp8;
- (void)setColor:(id)fp8;
- (void)setLibraryColor:(char *)fp8;
- (void)setColor:(id)fp8 hasBeenEvaluated:(BOOL)fp12 flags:(unsigned long)fp16;
- (void)setColor:(id)fp8 hasBeenEvaluated:(BOOL)fp12 flags:(unsigned long)fp16 commit:(BOOL)fp20;
- (void)commit;
- (void)commitLater;
- (void)reload;
- (void)setMutableInfoFromMessage:(id)fp8;
- (id)description;
- (void)dealloc;
- (void)finalize;
- (id)path;
- (id)account;
- (void)markAsViewed;
- (id)preferredEmailAddressToReplyWith;
- (void)setRemoteID:(const char *)fp8 flags:(unsigned long long)fp12 size:(unsigned int)fp20 mailboxID:(unsigned int)fp24 originalMailboxID:(unsigned int)fp28 color:(char *)fp32;
- (void)loadMessageInfoIfNecessary;
- (void)copyMessageInfoToLibraryMessage:(id)fp8;
- (id)messageDataIncludingFromSpace:(BOOL)fp8;

@end

@interface Message (LibraryAdditions)
- (id)metadataDictionary;
- (id)metadataPlist;
- (BOOL)writeToDiskWithLibraryID:(unsigned int)fp8 bodyData:(id)fp12;
@end

@interface LibraryStore : MessageStore
{
    MessageCriterion *_criterion;
    NSString *_query;
    double _lastUpdated;
    NSString *_url;
    unsigned int _openOptions;
    NSMutableSet *_memberMessageIDs;
    unsigned int _messageAvailabilityCount;
    BOOL _mailboxUnreadCountUpdatePending;
    NSMutableArray *_allMessagesDuringOpening;
}

+ (void)initialize;
+ (struct _NSMapTable *)_storeCacheMapTable;
+ (unsigned int)defaultLoadOptions;
+ (id)storeWithCriterion:(id)fp8;
+ (id)storeWithMailbox:(id)fp8;
+ (id)sharedInstance;
+ (BOOL)createEmptyStoreForPath:(id)fp8;
+ (BOOL)storeAtPathIsWritable:(id)fp8;
- (id)initWithCriterion:(id)fp8 mailbox:(id)fp12 readOnly:(BOOL)fp16;
- (id)initWithCriterion:(id)fp8;
- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12;
- (id)initWithMailbox:(id)fp8;
- (id)mailbox;
- (void)updateCriterionFromMailbox;
- (void)_updateMailboxUnreadCount;
- (void)addCountsForMessages:(id)fp8 shouldUpdateUnreadCount:(BOOL)fp12;
- (BOOL)shouldCancel;
- (void)_newMessagesAvailable:(id)fp8;
- (void)_addInvocationToQueue:(id)fp8;
- (void)newMessagesAvailable:(id)fp8;
- (void)libraryFinishedSendingMessages;
- (void)openAsynchronouslyWithOptions:(unsigned int)fp8;
- (void)openSynchronouslyUpdatingMetadata:(BOOL)fp8;
- (unsigned int)totalCount;
- (id)copyOfAllMessages;
- (id)copyOfAllMessagesWithOptions:(unsigned int)fp8;
- (void)recalculateUnreadCountAsychronously;
- (void)_recalculateUnreadCountSynchronously;
- (id)filterMessagesByMembership:(id)fp8;
- (void)messagesAdded:(id)fp8;
- (void)handleMessagesAdded:(id)fp8;
- (void)messagesWereAdded:(id)fp8 forIncrementalLoading:(BOOL)fp12;
- (void)messageFlagsChanged:(id)fp8;
- (void)handleMessageFlagsChanged:(id)fp8;
- (void)messagesCompacted:(id)fp8;
- (void)handleMessagesCompacted:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)messageForMessageID:(id)fp8;
- (unsigned long)flagsForMessage:(id)fp8;
- (BOOL)hasCachedDataForMimePart:(id)fp8;
- (id)_fetchHeaderDataForMessage:(id)fp8;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)fullBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (BOOL)_shouldChangeComponentMessageFlags;
- (id)setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (unsigned int)indexOfMessage:(id)fp8;
- (void)deleteMessages:(id)fp8 moveToTrash:(BOOL)fp12;
- (void)deleteMessagesOlderThanNumberOfDays:(int)fp8 compact:(BOOL)fp12;
- (BOOL)allowsAppend;
- (int)appendMessages:(id)fp8 unsuccessfulOnes:(id)fp12 newMessageIDs:(id)fp16 newMessages:(id)fp20;
- (int)undoAppendOfMessageIDs:(id)fp8;
- (BOOL)canCompact;
- (BOOL)_shouldCallCompactWhenClosing;
- (void)doCompact;
- (void)deleteLastMessageWithHeader:(id)fp8 forHeaderKey:(id)fp12 compactWhenDone:(BOOL)fp16;
- (id)dataForMimePart:(id)fp8;
- (void)writeUpdatedMessageDataToDisk;
- (void)updateMetadata;
- (void)updateUserInfoToLatestValues;
- (void)_setNeedsAutosave;
- (id)criterion;
- (id)url;
- (unsigned int)unreadCount;
- (void)_flushAllMessageData;
- (void)rebuildTableOfContentsAsynchronously;
- (void)_rebuildTableOfContentsSynchronously;
- (void)_flushAllCaches;
- (id)_cachedBodyForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (id)_cachedHeadersForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (id)_cachedBodyDataForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (id)_cachedHeaderDataForMessage:(id)fp8 valueIfNotPresent:(id)fp12;
- (void)_setBackgroundColorForMessages:(id)fp8 textColorForMessages:(id)fp12;
- (void)_invalidateColorForMessages:(id)fp8;
- (void)_setFlagsForMessages:(id)fp8 mask:(unsigned long)fp12;
- (void)_setFlagsAndColorForMessages:(id)fp8;
- (BOOL)setPreferredEncoding:(unsigned long)fp8 forMessage:(id)fp12;

@end

@interface LibraryIMAPStore : MessageStore
{
    unsigned int _supportsCustomPermanentFlags:1;
    unsigned int _supportsJunkFlag:1;
    unsigned int _supportsDollarJunkFlag:1;
    unsigned int _supportsNotJunkFlag:1;
    unsigned int _supportsDollarNotJunkFlag:1;
    unsigned int _supportsForwardedFlag:1;
    unsigned int _supportsDollarForwardedFlag:1;
    unsigned int _updatingCache:1;
    unsigned int _updateMetadata:1;
    unsigned int _readyToDealloc:1;
    unsigned int _reserved:19;
    NSString *_mailboxName;
    NSSet *_cachedContents;
    NSDate *_cachedDirModDate;
    IMAPDownloadCache *_downloadCache;
    IMAPCommandPipeline *_fetchPipeline;
    IMAPMailboxSyncEngine *_syncEngine;
    unsigned int _totalCount;
    NSMutableDictionary *_recentFlagChangesByMessageID;
}

+ (BOOL)storeAtPathIsWritable:(id)fp8;
+ (BOOL)createEmptyStoreForPath:(id)fp8;
+ (void)initialize;
- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12;
- (void)dealloc;
- (void)finalize;
- (id)initWithCoder:(id)fp8;
- (id)messagesForImporter;
- (void)newMessagesAvailable:(id)fp8;
- (void)openAsynchronouslyWithOptions:(unsigned int)fp8;
- (void)openSynchronouslyUpdatingMetadata:(BOOL)fp8;
- (void)updateMetadata;
- (id)willBeReleased;
- (void)_invalidate;
- (BOOL)_shouldCallCompactWhenClosing;
- (void)_fetchForCheckingNewMail:(BOOL)fp8;
- (void)checkNewMail;
- (void)fetchSynchronously;
- (BOOL)canRebuild;
- (void)_rebuildTableOfContentsSynchronously;
- (void)removeAllLocalMessages;
- (id)mailboxName;
- (BOOL)canCompact;
- (void)doCompact;
- (void)deleteMessagesOlderThanNumberOfDays:(int)fp8 compact:(BOOL)fp12;
- (void)deleteLastMessageWithHeader:(id)fp8 forHeaderKey:(id)fp12 compactWhenDone:(BOOL)fp16;
- (BOOL)allowsAppend;
- (void)_addOfflineTransferMessages:(id)fp8;
- (BOOL)_doUidCopy:(CDAnonymousStruct2 *)fp8 toStore:(id)fp12 newMessages:(id)fp16;
- (int)_doAppend:(CDAnonymousStruct2 *)fp8;
- (int)appendMessages:(id)fp8 unsuccessfulOnes:(id)fp12 newMessageIDs:(id)fp16 newMessages:(id)fp20;
- (int)undoAppendOfMessageIDs:(id)fp8;
- (id)createDictionaryForLocalFlags:(unsigned long)fp8 serverFlags:(unsigned long)fp12 existingDictionary:(id)fp16;
- (void)_synchronouslyStoreFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (void)_setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (void)setLocalFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (id)recentFlagChangesForMessageID:(id)fp8;
- (id)setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (BOOL)_shouldChangeComponentMessageFlagsForMessage:(id)fp8;
- (BOOL)setPreferredEncoding:(unsigned long)fp8 forMessage:(id)fp12;
- (id)_dataForMessage:(id)fp8 readHeadersOnly:(BOOL)fp12;
- (id)_createDataFromMimePart:(id)fp8 threshold:(unsigned int)fp12;
- (id)_fetchDataForMimePart:(id)fp8 keepInMemory:(BOOL)fp12 writeToDisk:(BOOL)fp16;
- (id)dataForMimePart:(id)fp8;
- (id)_lockedGetCacheDirectoryContents;
- (id)cacheDirectoryContents;
- (BOOL)hasCachedDataForMimePart:(id)fp8;
- (id)fullBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)_fetchHeaderDataForMessage:(id)fp8;
- (void)_setInternalDateForMessages:(id)fp8;
- (void)_fetchMessageIDHeaderForMessages:(id)fp8;
- (id)colorForMessage:(id)fp8;
- (id)messageForMessageID:(id)fp8;
- (BOOL)_allMessagesHaveDateReceived;
- (id)_messageForUid:(unsigned long)fp8;
- (id)_messageForTemporaryUid:(unsigned long)fp8;
- (id)connection;
- (BOOL)_changedFlagsForMessage:(id)fp8 fetchResponse:(id)fp12 newFlags:(unsigned int *)fp16;
- (void)connection:(id)fp8 didReceiveResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;
- (void)startSynchronization;
- (id)_uidsForMessages:(id)fp8;
- (BOOL)connection:(id)fp8 shouldHandleUntaggedResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;
- (void)connectionDidDisconnect:(id)fp8;
- (void)_retrieveNewMessagesForCheckingNewMail:(BOOL)fp8;
- (void)forceResync;
- (id)_preferredOrderForFetchingMessageBodies:(id)fp8;
- (BOOL)hasValidCacheFileForMessage:(id)fp8;
- (BOOL)hasValidCacheFileForUid:(unsigned long)fp8;
- (id)copyOfOldCachedMessagesContentsForUid:(unsigned long)fp8;
- (void)setUid:(unsigned long)fp8 forMessageWithTemporaryUid:(unsigned long)fp12;
- (void)removeCachedFiles:(id)fp8;
- (id)addMessages:(id)fp8 oldMessagesByNewMessage:(id)fp12;
- (id)addMessage:(id)fp8;
- (void)insertMessageToAllMessages:(id)fp8 atIndex:(unsigned int)fp12;
- (void)addMessageToAllMessages:(id)fp8;
- (id)mutableCopyOfAllMessages;
- (id)copyOfAllMessages;
- (id)copyOfAllMessagesWithOptions:(unsigned int)fp8;
- (id)copyOfAllMessagesSortedByUidWithOptions:(unsigned int)fp8;
- (id)deletedMessages;
- (int)lastUid;
- (id)URLString;
- (void)writeUpdatedMessageDataToDisk;
- (void)compactMessages:(id)fp8;
- (void)_countUnreadAndDeleted;
- (void)_countUnreadAndDeletedInMessages:(id)fp8;
- (unsigned int)totalCount;
- (unsigned int)indexOfMessage:(id)fp8;
- (id)sortOrder;
- (BOOL)isSortedAscending;
- (void)messagesWereAdded:(id)fp8;
- (void)updateUserInfoToLatestValues;
- (void)_setBackgroundColorForMessages:(id)fp8 textColorForMessages:(id)fp12;
- (void)_invalidateColorForMessages:(id)fp8;
- (void)_setFlagsForMessages:(id)fp8 mask:(unsigned long)fp12;
- (void)_setFlagsAndColorForMessages:(id)fp8;
- (id)fetchPipeline;
- (id)downloadCache;
- (id)messagesBeingRouted;
- (id)imapAccount;
- (id)offlineCache;
- (id)offlineCacheIfOffline;

@end

@interface IMAPMessage (JustInCase)
- (void)setRemoteMessageStore:(id)fp8;
@end

@interface MessageDetails : NSObject
{
    unsigned int libraryID;
    unsigned int messageFlags;
    unsigned int uid;
    unsigned int encoding;
    BOOL isInvalid;
}

- (id)description;
- (unsigned long)uid;
- (id)init;

@end

@interface DataCollector : NSObject <DataConsumer>
{
    NSString *_path;
    NSString *_tmpPath;
    LibraryMessage *_message;
    NSString *_part;
    NSFileHandle *_fileHandle;
    unsigned int _length;
    NSDictionary *_plist;
}

- (id)initWithMessage:(id)fp8 isPartial:(BOOL)fp12 part:(id)fp16;
- (void)appendData:(id)fp8;
- (void)done;
- (void)dealloc;
- (void)finalize;

@end

@interface MatadorResultCollector : NSObject
{
    MessageCriterion *criterion;
    MessageCriterion *resultParent;
    id target;
    struct __MDQuery *query;
    NSMutableSet *seenItems;
    unsigned int options;
}

- (id)initWithCriterion:(id)fp8 resultParentCriterion:(id)fp12 target:(id)fp16 query:(struct __MDQuery *)fp20;
- (void)dealloc;
- (void)finalize;

@end

@interface MessageCollector : NSObject <MessageConsumer>
{
    NSMutableArray *messages;
}

- (id)init;
- (void)dealloc;
- (void)finalize;
- (id)messages;
- (void)newMessagesAvailable:(id)fp8;
- (void)newMessagesAvailable:(id)fp8 ranks:(id)fp12;
- (BOOL)shouldCancel;

@end

@interface StmtHandle : NSObject
{
    struct sqlite3_stmt *stmt;
}

+ (id)handleForStmt:(struct sqlite3_stmt *)fp8;
- (id)initWithStmt:(struct sqlite3_stmt *)fp8;
- (void)dealloc;

@end

@interface SqliteHandle : NSObject
{
    struct sqlite3 *db;
}

+ (id)handleForDB:(struct sqlite3 *)fp8;
- (void)dealloc;
- (void)finalize;

@end

@interface Library : NSObject
{
}

+ (void)commitMessage:(id)fp8;
+ (void)flagsChangedForMessages:(id)fp8 flags:(id)fp12 oldFlagsByMessage:(id)fp16;
+ (void)coalesceMessageFileUpdate;
+ (void)coalesceCommitTransaction;
+ (void)cancelCoalescedTransaction;
+ (void)synchronouslyCommitTransaction;
+ (void)commitTransaction;
+ (void)commit;
+ (void)setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
+ (void)setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12 pushChanges:(BOOL)fp16;
+ (void)setFlags:(unsigned long)fp8 forMessage:(id)fp12;
+ (void)setFlagsForMessages:(id)fp8 mask:(unsigned long)fp12;
+ (void)setFlagsForMessages:(id)fp8;
+ (void)setBackgroundColorForMessages:(id)fp8 textColorForMessages:(id)fp12;
+ (void)setFlagsAndColorForMessages:(id)fp8;
+ (void)updateEncodingForMessage:(id)fp8;
+ (BOOL)initializeDatabase:(struct sqlite3 *)fp8;
+ (void)initialize;
+ (BOOL)setupLibrary;
+ (void)_mailboxWillBeInvalidated:(id)fp8;
+ (void)_mailboxWasRenamed:(id)fp8;
+ (id)plistDataForMessage:(id)fp8 subject:(id)fp12 sender:(id)fp16 to:(id)fp20 dateSent:(id)fp24 remoteID:(id)fp28 originalMailbox:(id)fp32 flags:(unsigned long long)fp36 mergeWithDictionary:(id)fp44;
+ (id)duplicateMessages:(id)fp8 newRemoteIDs:(id)fp12 forMailbox:(id)fp16 setFlags:(unsigned long long)fp20 clearFlags:(unsigned long long)fp28 createNewCacheFiles:(BOOL)fp36;
+ (BOOL)_writeEmlxFile:(id)fp8 forMessage:(id)fp12 withEmlxData:(id)fp16;
+ (BOOL)_writeEmlxFile:(id)fp8 forMessage:(id)fp12 withBodyData:(id)fp16 plistData:(id)fp20;
+ (void)touchDirectoryForMailbox:(id)fp8;
+ (id)addMessages:(id)fp8 withMailbox:(id)fp12 fetchBodies:(BOOL)fp16 isInitialImport:(BOOL)fp20 oldMessagesByNewMessage:(id)fp24;
+ (id)addMessages:(id)fp8;
+ (id)addMessages:(id)fp8 withMailbox:(id)fp12;
+ (id)addMessages:(id)fp8 withMailbox:(id)fp12 fetchBodies:(BOOL)fp16 oldMessagesByNewMessage:(id)fp20;
+ (void)setAttachmentNames:(id)fp8 forMessage:(id)fp12;
+ (void)setThreadPriority:(int)fp8;
+ (int)threadPriority;
+ (unsigned int)updateSequenceNumber;
+ (unsigned int)accessSequenceNumber;
+ (void)_rebuildActiveAccountsClause;
+ (void)sendMessagesMatchingQuery:(const char *)fp8 to:(id)fp12 options:(unsigned int)fp16;
+ (id)messagesMatchingQuery:(const char *)fp8 options:(unsigned int)fp12;
+ (id)messagesWhere:(id)fp8 sortedBy:(id)fp12 options:(unsigned int)fp16;
+ (void)sendMessagesForMailbox:(id)fp8 where:(id)fp12 sortedBy:(id)fp16 ascending:(BOOL)fp20 to:(id)fp24 options:(unsigned int)fp28;
+ (id)messagesForMailbox:(id)fp8 where:(id)fp12 sortedBy:(id)fp16 ascending:(BOOL)fp20 options:(unsigned int)fp24;
+ (id)messagesForMailbox:(id)fp8 olderThanNumberOfDays:(int)fp12;
+ (id)unreadMessagesForMailbox:(id)fp8;
+ (void)gatherCountsForMailbox:(id)fp8 totalCount:(unsigned long *)fp12 unreadCount:(unsigned long *)fp16 deletedCount:(unsigned long *)fp20 totalSize:(unsigned long long *)fp24;
+ (unsigned int)unreadCountForMailbox:(id)fp8;
+ (unsigned int)deletedCountForMailbox:(id)fp8;
+ (unsigned int)totalCountForMailbox:(id)fp8;
+ (id)messageWithRemoteID:(id)fp8 inRemoteMailbox:(id)fp12;
+ (unsigned int)maximumRemoteIDForMailbox:(id)fp8;
+ (id)getDetailsForMessagesWithRemoteIDInRange:(struct _NSRange)fp8 fromMailbox:(id)fp16;
+ (id)messageWithMessageID:(id)fp8;
+ (id)messagesWithMessageIDHeader:(id)fp8;
+ (id)messageWithLibraryID:(unsigned int)fp8 options:(unsigned int)fp12;
+ (id)messageWithLibraryID:(unsigned int)fp8;
+ (id)messagesInSameThreadAsMessages:(id)fp8 seenMessageIDs:(id)fp12 options:(unsigned int)fp16 db:(struct sqlite3 *)fp20;
+ (id)messagesInSameThreadAsMessages:(id)fp8 options:(unsigned int)fp12;
+ (id)firstReplyToMessage:(id)fp8;
+ (BOOL)messageHasRelatedNonJunkMessages:(id)fp8;
+ (id)stringForQuery:(id)fp8 monitor:(id)fp12;
+ (id)stringForQuery:(id)fp8;
+ (char *)bytesForQuery:(id)fp8;
+ (void)performQuery:(id)fp8;
+ (id)referencesForLibraryID:(unsigned int)fp8;
+ (id)urlForMailboxID:(unsigned int)fp8;
+ (id)mailboxUidForMessage:(id)fp8 lock:(BOOL)fp12;
+ (id)mailboxUidForMessage:(id)fp8;
+ (id)remoteStoreForMessage:(id)fp8;
+ (id)accountForMessage:(id)fp8;
+ (id)mailboxNameForMessage:(id)fp8;
+ (BOOL)_loadSecondaryMetadataForMessage:(id)fp8 fromDB:(struct sqlite3 *)fp12;
+ (BOOL)loadSecondaryMetadataForMessage:(id)fp8;
+ (void)reloadMessage:(id)fp8;
+ (void)updateFileForMessage:(id)fp8;
+ (BOOL)shouldCancel;
+ (void)updateMessageFiles;
+ (void)messagesWereCompacted:(id)fp8 mailboxes:(id)fp12;
+ (void)compactMessages:(id)fp8;
+ (void)compactMailbox:(id)fp8;
+ (id)mailboxUidForURL:(id)fp8;
+ (BOOL)renameMailboxes:(id)fp8 to:(id)fp12;
+ (void)deleteMailboxes:(id)fp8;
+ (id)lastMessageWithMessageID:(id)fp8 inMailbox:(id)fp12;
+ (id)dataPathForMessage:(id)fp8 type:(int)fp12;
+ (id)dataPathForMessage:(id)fp8;
+ (id)realDataPathForMessage:(id)fp8;
+ (id)messageWithDataPath:(id)fp8;
+ (id)dataConsumerForMessage:(id)fp8 part:(id)fp12;
+ (id)dataConsumerForMessage:(id)fp8 isPartial:(BOOL)fp12;
+ (id)dataConsumerForMessage:(id)fp8;
+ (void)setData:(id)fp8 forMessage:(id)fp12 isPartial:(BOOL)fp16;
+ (id)bodyDataAtPath:(id)fp8 headerData:(id *)fp12;
+ (id)bodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
+ (id)bodyDataForMessage:(id)fp8;
+ (id)fullBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
+ (id)fullBodyDataForMessage:(id)fp8;
+ (id)dataForMimePart:(id)fp8;
+ (BOOL)isMessageContentsLocallyAvailable:(id)fp8;
+ (id)_messageDataAtPath:(id)fp8;
+ (id)fullMessageDataForMessage:(id)fp8;
+ (BOOL)hasCacheFileForMessage:(id)fp8 directoryContents:(id)fp12;
+ (BOOL)hasCacheFileForMessage:(id)fp8 part:(id)fp12 directoryContents:(id)fp16;
+ (void)_markMessageAsViewed:(id)fp8 viewedDate:(id)fp12;
+ (void)markMessageAsViewed:(id)fp8;
+ (id)fixCriterionOnce:(id)fp8 expandedSmartMailboxes:(id)fp12;
+ (id)fixCriterionOnce:(id)fp8;
+ (id)fixCriterion:(id)fp8 expandedSmartMailboxes:(id)fp12;
+ (id)fixCriterion:(id)fp8;
+ (id)emailAddressesForGroupCriterion:(id)fp8;
+ (id)compoundCriterionToReplaceGroupCriterion:(id)fp8;
+ (id)compoundCriterionToReplaceCriterionOfType:(id)fp8 specialMailboxType:(int)fp12 forAccountURL:(id)fp16;
+ (id)expressionForCriterion:(id)fp8 context:(CDAnonymousStruct5 *)fp12 depth:(unsigned int)fp16 enclosingSmartMailboxes:(id)fp20;
+ (id)expressionForCriterion:(id)fp8 tables:(unsigned int *)fp12 baseTable:(unsigned int)fp16;
+ (id)queryForCriterion:(id)fp8 options:(unsigned int)fp12 baseTable:(unsigned int)fp16 isSubquery:(BOOL)fp20;
+ (id)queryForCriterion:(id)fp8 options:(unsigned int)fp12 baseTable:(unsigned int)fp16;
+ (id)queryForCriterion:(id)fp8 options:(unsigned int)fp12;
+ (void)shouldCancelMDQuery:(struct __MDQuery *)fp8;
+ (void)sendMessagesMatchingCriterion:(id)fp8 to:(id)fp12 options:(unsigned int)fp16;
+ (id)messagesMatchingCriterion:(id)fp8 options:(unsigned int)fp12;
+ (unsigned int)countForCriterion:(id)fp8 monitor:(id)fp12;
+ (unsigned int)countForCriterion:(id)fp8;
+ (id)filterContiguousMessages:(id)fp8 forCriterion:(id)fp12 options:(unsigned int)fp16;
+ (BOOL)rebuildMailbox:(id)fp8;
+ (BOOL)importMailbox:(id)fp8;
+ (BOOL)importing;
+ (BOOL)importEverythingIncludingDisabledAccounts:(BOOL)fp8;
+ (void)_upgradeMessageDirectoriesSynchronously;
+ (void)upgradeMessageDirectoriesIfNeeded;
+ (void)takeAccountsOnlineAllAccounts:(BOOL)fp8;
+ (BOOL)libraryExists;
+ (int)libraryStatus;
+ (BOOL)importableDataExists;
+ (id)currentMailbox;
+ (unsigned int)indexOfCurrentMailbox;
+ (unsigned int)totalNumberOfMailboxes;
+ (unsigned int)indexOfCurrentMessage;
+ (unsigned int)runningIndexOfCurrentMessage;
+ (unsigned int)messagesInMailbox;
+ (unsigned int)totalNumberOfMessages;
+ (BOOL)isBusy;
+ (void)cleanOldDatabases;

@end

@interface NSString (LibraryMessageIDSupport)
- (id)encodedMessageIDString;
@end

@interface IMAPStore : MessageStore <NSCoding>
{
    NSMutableArray *_unsolicitedResponses;
    NSString *_statusMessageFormat;
    int _statusMessageCount;
    int _statusMessageMaximum;
    int _activityMonitorKey;
    unsigned int _numberOfFirstNewMessage;
    unsigned int _synchronizationState:3;
    unsigned int _supportsCustomPermanentFlags:1;
    unsigned int _supportsJunkFlag:1;
    unsigned int _supportsDollarJunkFlag:1;
    unsigned int _supportsNotJunkFlag:1;
    unsigned int _supportsDollarNotJunkFlag:1;
    unsigned int _supportsForwardedFlag:1;
    unsigned int _supportsDollarForwardedFlag:1;
    unsigned int _updatingCache:1;
    unsigned int _updateIndex:1;
    unsigned int _updateEverythingElse:1;
    unsigned int _reserved:19;
    NSString *_mailboxName;
    NSConditionLock *_synchronizationStateLock;
    NSMutableDictionary *_headersForMessagesBeingRouted;
    NSSet *_cachedContents;
    NSDate *_cachedDirModDate;
    NSMutableDictionary *_recentFlagChangesByMessage;
}

+ (BOOL)storeAtPathIsWritable:(id)fp8;
+ (BOOL)createEmptyStoreForPath:(id)fp8;
+ (void)initialize;
- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12;
- (void)dealloc;
- (void)finalize;
- (void)_copyDataFrom:(id)fp8;
- (id)initWithCoder:(id)fp8;
- (void)encodeWithCoder:(id)fp8;
- (void)openSynchronouslyUpdatingMetadata:(BOOL)fp8;
- (void)updateMetadata;
- (void)_setNeedsAutosave;
- (void)writeUpdatedMessageDataToDisk;
- (void)_invalidate;
- (BOOL)_shouldCallCompactWhenClosing;
- (void)fetchSynchronously;
- (BOOL)canRebuild;
- (id)mailboxName;
- (BOOL)canCompact;
- (BOOL)allowsAppend;
- (void)_addOfflineTransferMessages:(id)fp8;
- (id)_copyOfflineTransferMessage:(id)fp8 withUid:(unsigned int)fp12;
- (BOOL)_copyMessages:(id)fp8 toStore:(id)fp12 newMessages:(id)fp16;
- (void)_copyCacheFilesForMessage:(id)fp8 fromDirectory:(id)fp12 toBasePath:(id)fp16;
- (int)_doAppend:(CDAnonymousStruct9 *)fp8;
- (int)appendMessages:(id)fp8 unsuccessfulOnes:(id)fp12 newMessageIDs:(id)fp16 newMessages:(id)fp20;
- (int)undoAppendOfMessageIDs:(id)fp8;
- (void)_synchronouslyStoreFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (void)_setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (id)setFlagsFromDictionary:(id)fp8 forMessages:(id)fp12;
- (BOOL)setPreferredEncoding:(unsigned long)fp8 forMessage:(id)fp12;
- (id)_dataForMessage:(id)fp8 readHeadersOnly:(BOOL)fp12;
- (id)_createDataFromMimePart:(id)fp8 threshold:(unsigned int)fp12;
- (id)_fetchDataForMimePart:(id)fp8 keepInMemory:(BOOL)fp12 writeToDisk:(BOOL)fp16;
- (id)dataForMimePart:(id)fp8;
- (id)_cacheDirectoryContentsCheckingModDate:(BOOL)fp8;
- (id)_cacheDirectoryContents;
- (BOOL)hasCachedDataForMimePart:(id)fp8;
- (id)fullBodyDataForMessage:(id)fp8;
- (id)_fetchBodyDataForMessage:(id)fp8 andHeaderDataIfReadilyAvailable:(id *)fp12;
- (id)_fetchHeaderDataForMessage:(id)fp8;
- (id)headersForMessage:(id)fp8;
- (void)_setInternalDateForMessages:(id)fp8;
- (void)_fetchMessageIDHeaderForMessages:(id)fp8;
- (id)colorForMessage:(id)fp8;
- (id)messageForMessageID:(id)fp8;
- (BOOL)_allMessagesHaveDateReceived;
- (id)_messageForUid:(unsigned int)fp8;
- (id)_messageForTemporaryUid:(unsigned int)fp8;
- (id)connection;
- (BOOL)_synchronizeUidRange:(CDAnonymousStruct8)fp8 newMessages:(id)fp16 usingConnection:(id)fp20;
- (void)_synchronizeWithServerUsingConnection:(id)fp8;
- (void)connection:(id)fp8 didReceiveResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;
- (void)startSynchronization;
- (id)_uidsForMessages:(id)fp8;
- (BOOL)connection:(id)fp8 shouldHandleUntaggedResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;
- (void)connectionDidDisconnect:(id)fp8;
- (int)_numberOfNewMessagesWaitingOnConnection:(id)fp8;
- (void)_processUnsolicitedResponsesUsingConnection:(id)fp8;
- (void)_retrieveNewMessages;
- (id)routeMessages:(id)fp8;
- (void)_retrieveNewMessagesInUIDRange:(CDAnonymousStruct8)fp8 intoArray:(id)fp16 statusFormat:(id)fp20 usingConnection:(id)fp24;
- (void)_cacheMessageBodiesAsynchronously:(id)fp8;
- (void)_cacheMessageBodiesAndUpdateIndex:(id)fp8;
- (void)_cacheMessageBodiesAndUpdateIndex:(id)fp8 cacheDirectoryContents:(id)fp12;
- (id)_preferredOrderForFetchingMessageBodies:(id)fp8;
- (void)_cacheMessageBodiesToDisk:(id)fp8 cacheDirectoryContents:(id)fp12;
- (void)_cacheAttachmentPartsForMessages:(id)fp8 cacheDirectoryContents:(id)fp12;
- (void)_updateCacheDirectoryAndIndexDoTheseFirst:(id)fp8;
- (BOOL)hasValidCacheFileForMessage:(id)fp8;
- (BOOL)hasValidCacheFileForUid:(int)fp8;
- (void)setUid:(unsigned int)fp8 forMessageWithTemporaryUid:(unsigned int)fp12;
- (void)removeCachedFiles:(id)fp8;
- (void)_synchronizationCompleted;
- (void)waitForSynchronizationToComplete;

@end

@interface IMAPSizeEngine : SizeEngine
{
    unsigned int _quotaStatus:3;
    struct __CFDictionary *_usageByMailboxUid;
    NSMutableDictionary *_mailboxesByQuotaRoot;
    NSMutableDictionary *_usageByQuotaName;
    NSMutableArray *_mailboxesToSize;
    NSMutableArray *_quotasToFetch;
}

- (id)initWithIMAPAccount:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (BOOL)_changeUsageInfo:(CDAnonymousStruct7 *)fp8 forMailboxUid:(id)fp12 refetchQuotas:(BOOL)fp16;
- (void)_changeQuotaRoots:(id)fp8 forMailboxUid:(id)fp12;
- (void)_changeQuotas:(id)fp8 forQuotaRootName:(id)fp12;
- (void)_sizeChangedForMailboxUid:(id)fp8;
- (void)_mailboxChanged:(id)fp8;
- (void)_mailboxSizeChanged:(id)fp8;
- (void)handleMailboxSizeChanged:(id)fp8;
- (void)_mailbox:(id)fp8 didRemoveUsage:(id)fp12 fromQuotaRoots:(id)fp16;
- (void)_mailboxBecameInvalid:(id)fp8;
- (void)_refetchListing:(id)fp8;
- (void)_getSize:(CDAnonymousStruct7 *)fp8 forMailboxUid:(id)fp12;
- (void)_runWorkerThread;
- (BOOL)_prepareToRefresh;
- (BOOL)_shouldStartWorkerThread;
- (int)quotaStatus;
- (id)quotaNames;
- (id)usageForMailbox:(id)fp8;
- (id)usageForQuotaName:(id)fp8;
- (id)mutableCopyOfMailboxesForQuotaName:(id)fp8;
- (BOOL)mailbox:(id)fp8 usesQuotaName:(id)fp12;
- (BOOL)connection:(id)fp8 shouldHandleUntaggedResponse:(id)fp12 forCommand:(CDAnonymousStruct6 *)fp16;

@end

@interface POPSizeEngine : SizeEngine
{
    NSMutableDictionary *_infoByMessageID;
}

- (id)initWithPOPAccount:(id)fp8;
- (void)dealloc;
- (void)finalize;
- (id)allMessageIDs;
- (id)infoWithKey:(id)fp8 forMessageWithID:(id)fp12;
- (id)_createMessageInfoFromMessageHeaders:(id)fp8;
- (id)_remoteMailboxURL;
- (void)_runWorkerThread;
- (BOOL)_prepareToRefresh;
- (BOOL)_shouldStartWorkerThread;
- (void)_fetchCompleted:(id)fp8;
- (void)_deleteServerMessagesCompleted:(id)fp8;
- (void)_messageFlagsChanged:(id)fp8;

@end

@interface RecoveredMessage : Message
{
    NSString *_path;
    NSString *_remoteID;
    NSString *_remoteMailboxURL;
    NSString *_originalMailboxURL;
    MessageHeaders *_headers;
    unsigned int _size;
    CDAnonymousStruct11 _imapFlags;
    NSData *_data;
    unsigned int _loadedFileData:1;
}

- (void)_loadFileDataIfNeeded;
- (id)initWithPath:(id)fp8;
- (id)messageID;
- (id)remoteMailboxURL;
- (id)originalMailboxURL;
- (id)headerData;
- (id)headers;
- (id)messageDataIncludingFromSpace:(BOOL)fp8;
- (id)bodyData;
- (id)dataForMimePart:(id)fp8;
- (id)messageBody;
- (id)messageBodyUpdatingFlags:(BOOL)fp8;
- (id)messageBodyIfAvailableUpdatingFlags:(BOOL)fp8;
- (CDAnonymousStruct11)imapFlags;
- (unsigned long)messageFlags;
- (CDAnonymousStruct3)moreMessageFlags;
- (void)dealloc;
- (void)finalize;
- (void)flushCachedData;
- (BOOL)setMessageID:(unsigned int)fp8 directory:(id)fp12;

@end

@interface RecoveredStore : MessageStore
{
    NSArray *_pathsToImport;
}

- (id)initWithMailboxUid:(id)fp8 readOnly:(BOOL)fp12 pathsToImport:(id)fp16;
- (void)dealloc;
- (id)messagesForImporter;

@end

@interface ParentalControlAccount : LocalAccount
{
}

+ (id)parentalControlAccount;
+ (id)originalAccountForIncomingMailbox:(id)fp8;
+ (id)allMailboxes;
+ (id)mailboxForAccount:(id)fp8;
+ (id)storeForMailbox:(id)fp8;
+ (id)storeForAccount:(id)fp8;
+ (id)_mailboxNameForAccount:(id)fp8;
- (Class)storeClass;
- (id)mailboxPathExtension;

@end

@interface ParentalControlManager : NSObject
{
    NSMutableSet *_pcStores;
    InvocationQueue *_tasks;
    NSDate *_lastCleanupDate;
    NSMutableArray *_recentRequests;
    BOOL _recentRequestsDirty;
    NSMutableSet *_pendingRequests;
}

+ (id)sharedManager;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (id)parentalControlDirectory;
- (BOOL)isInSpamProtectionMode;
- (id)headersRequiredForParentalControl;
- (void)deleteAccount:(id)fp8;
- (void)_cleanupPCStoresAfterDelay:(double)fp8;
- (void)_approveSenders:(id)fp8 sourcePCMailbox:(id)fp12 destinationAccount:(id)fp16;
- (void)_rejectSenders:(id)fp8 sourcePCMailbox:(id)fp12;
- (id)_openStoreForPCMailbox:(id)fp8 keepOpen:(BOOL)fp12;
- (id)_openStoreForPCMailbox:(id)fp8;
- (id)_openPCStoreForAccount:(id)fp8;
- (id)_makeRequestMessageForMessage:(id)fp8 isOutgoingMessage:(BOOL)fp12;
- (id)_deliverMessage:(id)fp8;
- (id)_recentRequestsFilePath;
- (id)_recentRequestsNoLock;
- (BOOL)_hasRecentlySentPermissionRequestForSender:(id)fp8;
- (void)_removeSendersFromRecentRequests:(id)fp8;
- (BOOL)_hasPendingRequestForSender:(id)fp8;
- (void)_requestApprovalForIncomingMessage:(id)fp8 srcStore:(id)fp12 pcStore:(id)fp16 messageInPCStore:(id)fp20;
- (void)_reallyRequestApprovalForIncomingMessage:(id)fp8 srcStore:(id)fp12 pcStore:(id)fp16 messageInPCStore:(id)fp20;
- (void)_approveAddresses:(id)fp8 responseFromAccount:(id)fp12;
- (void)_rejectAddresses:(id)fp8 responseFromAccount:(id)fp12;
- (void)_cleanupPCStore:(id)fp8;
- (void)_reallyCleanupPCStores;
- (void)_cleanupPCStores;
- (BOOL)processIncomingMessage:(id)fp8 messageIsParentResponse:(char *)fp12;
- (BOOL)haveEmailsBeenApproved:(id)fp8 unapprovedOnes:(id)fp12;
- (void)_deliverApprovalRequestMessage:(id)fp8 forOutgoingMessage:(id)fp12;
- (void)_requestApprovalForOutgoingMessage:(id)fp8 srcStore:(id)fp12;
- (BOOL)requestApprovalForOutgoingMessage:(id)fp8;
- (void)saveChanges;
- (id)_makeResponseMessageToRequest:(id)fp8 approve:(BOOL)fp12;
- (void)_deliverResponseMessage:(id)fp8 requestMessage:(id)fp12;
- (BOOL)_respondToRequest:(id)fp8 approve:(BOOL)fp12;
- (BOOL)approveRequest:(id)fp8;
- (BOOL)rejectRequest:(id)fp8;
- (BOOL)isEmail:(id)fp8 inEmailList:(id)fp12;
- (void)_approveEmailListChanged:(id)fp8;

@end

@interface MessageStore (ParentalControl)
- (void)setPermissionRequestState:(int)fp8 forMessage:(id)fp12;
@end

@interface Message (ParentalControl)
- (BOOL)isParentResponseMessage:(char *)fp8 isRejected:(char *)fp12 requestedAddresses:(id)fp16 requestIsForSenders:(char *)fp20;
- (BOOL)isChildRequestMessage:(id)fp8 requestIsForSenders:(char *)fp12 permissionRequestState:(int *)fp16;
- (BOOL)isChildRequestMessage;
@end

@interface ParentalControlSettings : NSObject
{
}

+ (void)initialize;
+ (id)sharedInstance;
+ (BOOL)isEmail:(id)fp8 inEmailList:(id)fp12;
- (void)_reallyHandleDefaultsChange;
- (void)_defaultsDidChange;
- (void)_approveEmailListChanged:(id)fp8;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (BOOL)isInSpamProtectionMode;
- (id)parentEmails;
- (BOOL)isParentEmail:(id)fp8;
- (BOOL)_isSelfEmail:(id)fp8;
- (id)_approvedEmails;
- (BOOL)hasEmailBeenApproved:(id)fp8;
- (BOOL)haveEmailsBeenApproved:(id)fp8 unapprovedOnes:(id)fp12;
- (id)_dictionaryFromEmail:(id)fp8;
- (BOOL)_approveEmail:(id)fp8;
- (id)approveEmails:(id)fp8;
- (BOOL)_rejectEmail:(id)fp8;
- (id)rejectEmails:(id)fp8;
- (double)parentalControlEnabledTimeIntervalSince1970;
- (void)saveChanges;

@end

@interface ParentalControlStore : NeXTMbox
{
}

- (BOOL)_shouldCallCompactWhenClosing;
- (id)_defaultRouterDestination;
- (id)realAccount;
- (void)setParentalControlMessageState:(int)fp8 forMessage:(id)fp12;
- (void)setParentalControlMessageState:(int)fp8 forMessages:(id)fp12;
- (void)saveChanges;

@end

@interface NTLMAuthenticator : SASLAuthenticator
{
    struct NtlmGenerator *_ntlmGeneratorRef;
    int _ntlmError;
}

- (void)dealloc;
- (void)finalize;
- (void)setAuthenticationState:(int)fp8;
- (id)responseForServerData:(id)fp8;

@end

@interface NTLMAuthScheme : AuthScheme
{
}

+ (void)initialize;
- (Class)authenticatorClassForAccount:(id)fp8;
- (BOOL)requiresDomain;
- (id)name;
- (id)humanReadableName;
- (BOOL)sendsPlainTextPasswords;
- (BOOL)hasEncryption;

@end

@interface NSString (iCalInvitationSupport)
- (BOOL)isICalInvitation;
@end

@interface NSFileWrapper (iCalInvitationSupport)
- (BOOL)isICalInvitation;
- (void)setIsICalInvitation:(BOOL)fp8;
@end

@interface NSTextAttachment (iCalInvitationSupport)
- (BOOL)isICalInvitation;
@end

@interface NSTableView (MailAdditions)
- (int)firstmostSelectedRow;
- (int)lastmostSelectedRow;
- (BOOL)isSelectionVisible;
- (void)showSelectionAndCenter:(BOOL)fp8;
- (void)scrollRowToVisible:(int)fp8 position:(int)fp12;
@end

@interface IMAPFetchResult : NSObject
{
    int _itemType;
    union {
        NSArray *envelope;
        NSDate *internalDate;
        unsigned int messageSize;
        NSArray *bodyStructure;
        struct {
            NSString *section;
            unsigned int startOffset;
            NSData *sectionData;
        } bodySectionInfo;
        unsigned int uid;
        NSArray *flags;
    } _typeSpecific;
}

- (id)initWithType:(int)fp8;
- (void)dealloc;
- (int)type;
- (id)envelope;
- (void)setEnvelope:(id)fp8;
- (id)internalDate;
- (void)setInternalDate:(id)fp8;
- (id)fetchData;
- (void)setFetchData:(id)fp8;
- (unsigned long)messageSize;
- (void)setMessageSize:(unsigned long)fp8;
- (id)bodyStructure;
- (void)setBodyStructure:(id)fp8;
- (unsigned long)startOffset;
- (void)setStartOffset:(unsigned long)fp8;
- (id)section;
- (void)setSection:(id)fp8;
- (unsigned long)uid;
- (void)setUid:(unsigned long)fp8;
- (id)flagsArray;
- (void)setFlagsArray:(id)fp8;
- (unsigned long)encoding;
- (unsigned long)messageFlags;
- (id)description;

@end

@interface IMAPCompoundDownload : IMAPDownload
{
    NSMutableArray *_subdownloads;
}

- (void)dealloc;
- (id)subdownloads;
- (void)addSubdownload:(id)fp8;
- (void)removeSubdownload:(id)fp8;
- (void)addCommandsToPipeline:(id)fp8 withCache:(id)fp12;
- (void)processResults;
- (BOOL)isComplete;
- (unsigned long)expectedLength;

@end

@interface IMAPSimpleDownload : IMAPDownload
{
    NSMutableData *_mdata;
    NSString *_section;
    NSError *_error;
    unsigned int _length:32;
    unsigned int _knownLength:1;
    unsigned int _complete:1;
}

- (id)initWithUid:(unsigned long)fp8 section:(id)fp12 estimatedLength:(unsigned long)fp16;
- (id)initWithUid:(unsigned long)fp8 section:(id)fp12 length:(unsigned long)fp16;
- (id)section;
- (void)dealloc;
- (void)handleFetchResult:(id)fp8;
- (void)processResults;
- (void)addCommandsToPipeline:(id)fp8 withCache:(id)fp12;
- (BOOL)isComplete;
- (id)data;
- (id)error;
- (void)setError:(id)fp8;

@end

@interface IMAPDownload : NSObject
{
    unsigned int _uid;
    NSMutableArray *_pendingFetchResults;
}

- (void)dealloc;
- (id)initWithUid:(unsigned long)fp8;
- (unsigned long)uid;
- (unsigned long)expectedLength;
- (BOOL)isComplete;
- (unsigned long)bytesFetched;
- (id)data;
- (id)error;
- (void)setError:(id)fp8;
- (void)handleFetchResult:(id)fp8;
- (void)processResults;
- (void)addCommandsToPipeline:(id)fp8 withCache:(id)fp12;

@end

@interface _IMAPFetchUnit : NSObject
{
    unsigned int uid;
    NSString *fetchItem;
    IMAPFetchResult *_expectedFetchResult;
}

- (void)dealloc;
- (void)_setupExpectedFetchResult;
- (BOOL)matchesFetchResponse:(id)fp8;
- (id)createFailedFetchResponse;

@end

@interface IMAPCommandPipeline : NSObject
{
    unsigned int _chunkSize;
    unsigned int _expectedSize;
    unsigned int _full:1;
    unsigned int _sending:1;
    NSMutableArray *_fetchUnits;
}

- (void)dealloc;
- (void)addFetchCommandForUid:(unsigned long)fp8 fetchItem:(id)fp12 expectedLength:(unsigned long)fp16;
- (unsigned long)expectedSize;
- (void)setChunkSize:(unsigned long)fp8;
- (unsigned long)chunkSize;
- (void)setFull:(BOOL)fp8;
- (BOOL)isFull;
- (void)_removeFetchUnitMatchingResponse:(id)fp8;
- (id)failureResponsesFromSendingCommandsWithConnection:(id)fp8;
- (BOOL)isSending;

@end

@interface IMAPDownloadCache : NSObject
{
    NSMutableArray *_downloads;
}

- (void)dealloc;
- (id)downloadForMessage:(id)fp8;
- (id)downloadForUid:(unsigned long)fp8 section:(id)fp12 length:(unsigned long)fp16;
- (id)downloadForUid:(unsigned long)fp8 section:(id)fp12 expectedLength:(unsigned long)fp16;
- (void)handleFetchResponse:(id)fp8 forUid:(unsigned long)fp12;
- (void)handleFetchResponses:(id)fp8;
- (void)processResultsForUid:(unsigned long)fp8;
- (void)cleanUpDownloadsForUid:(unsigned long)fp8;
- (void)addCommandsForDownload:(id)fp8 toPipeline:(id)fp12;

@end

@interface IMAPMessageDownload : IMAPCompoundDownload
{
    Message *_message;
    MimePart *_topLevelPart;
    unsigned int _allowsPartialDownloads:1;
    unsigned int _usingPartialDownloads:1;
    unsigned int _startedFetch:1;
    unsigned int _fetchingMessageContents:1;
    unsigned int _fetchingBodyText:1;
    unsigned int _doneAddingSubdownloads:1;
    unsigned int _writesCacheFile:1;
}

- (void)dealloc;
- (id)initWithMessage:(id)fp8;
- (id)message;
- (BOOL)allowsPartialDownloads;
- (void)setAllowsPartialDownloads:(BOOL)fp8;
- (BOOL)writesCacheFile;
- (void)setWritesCacheFile:(BOOL)fp8;
- (id)topLevelPart;
- (void)setTopLevelPart:(id)fp8;
- (id)data;
- (BOOL)isComplete;
- (void)handleFetchResult:(id)fp8;
- (void)processResults;
- (void)addCommandsToPipeline:(id)fp8 withCache:(id)fp12;

@end

@interface IMAPAttachmentsDownload : IMAPCompoundDownload
{
    LibraryMessage *_message;
}

- (void)dealloc;
- (id)initWithLibraryMessage:(id)fp8;
- (id)message;
- (void)saveCompletedDownloads;

@end

@interface Matador : NSObject
{
    InvocationQueue *_tasks;
}

+ (id)sharedInstance;
- (id)init;
- (void)dealloc;
- (void)finalize;
- (void)_setAttributeForFileAtPath:(id)fp8 name:(id)fp12 value:(id)fp16;
- (void)setAttributeForFileAtPath:(id)fp8 name:(id)fp12 value:(id)fp16;

@end

@interface _LibraryThreadRequest : NSObject
{
    NSMutableArray *messages;
    LibraryIMAPStore *store;
    BOOL isFollowOnToProgressTask;
}

- (void)dealloc;

@end

@interface LibraryThread : NSObject
{
    NSMutableArray *_requests;
    ActivityMonitor *_monitor;
    struct __CFDictionary *_storeReqCounts;
}

+ (id)sharedInstance;
- (void)_runThread;
- (void)addMessages:(id)fp8 toStore:(id)fp12;
- (id)messagesBeingAddedToStore:(id)fp8;
- (BOOL)isAddingMessagesToStore:(id)fp8;

@end

@interface IMAPMessageWithCache : IMAPMessage
{
    NSData *_messageData;
    MessageHeaders *_headers;
}

- (void)dealloc;
- (id)messageData;
- (id)messageDataIncludingFromSpace:(BOOL)fp8;
- (void)setMessageData:(id)fp8;
- (BOOL)isMessageContentsLocallyAvailable;
- (id)headers;
- (void)setHeaders:(id)fp8;
- (id)headerData;

@end

@interface IMAPMailboxSyncEngine : NSObject
{
    ActivityMonitor *_monitor;
    IMAPConnection *_connection;
    LibraryIMAPStore *_store;
    NSMutableArray *_unprocessedResponses;
    NSMutableArray *_auxiliaryLists;
    unsigned int _uidNextOrValidity;
    unsigned int _libraryClientUidNext;
    unsigned int _numMessagesOnServer;
    unsigned int _firstMessageNumber;
    NSMutableArray *_messageDetails;
    unsigned int _UNUSED:1;
    unsigned int _automaticallyStartThread:1;
    unsigned int _storeIsInbox:1;
    unsigned int _newMailReceivedInInbox:1;
    unsigned int _uidValidityChanged:1;
    unsigned int _checkedForNewUids:1;
    unsigned int _synchronizedOldMessages:1;
    unsigned int _progressType:3;
    unsigned int _connectionSupportsUIDPLUS:1;
    unsigned int _progressTotal:21;
    void *_timingInfo;
    unsigned int _checkNewMailCount;
}

- (void)dealloc;
- (id)initWithStore:(id)fp8;
- (void)reset;
- (void)invalidateStore;
- (BOOL)isRunning;
- (void)setConnection:(id)fp8 initialUntaggedResponses:(id)fp12;
- (void)responseWasReceived:(id)fp8;
- (void)messagesWereAddedToLibrary:(id)fp8;
- (BOOL)messageListIsSynchronized;
- (id)messagesBeingAdded;
- (void)setAutomaticallyStartsBackgroundThread:(BOOL)fp8;
- (void)runInCurrentThread;
- (void)requestCheckingNewMail;
- (void)newUIDsWereAddedToServer:(id)fp8 forMessages:(id)fp12;

@end

@interface IMAPMailboxSyncEngine (Internal)
- (void)_notifyBackgroundFetchCompleted;
- (void)_go;
@end

@interface MessageCriterion : NSObject
{
    NSString *_uniqueId;
    NSString *_criterionIdentifier;
    NSString *_expression;
    int _qualifier;
    NSString *_groupUniqueId;
    NSArray *_criteria;
    int _dateUnitType;
    int specialMailboxType;
    NSString *_name;
    unsigned int _allCriteriaMustBeSatisfied:1;
    unsigned int _dateIsRelative:1;
    NSString *_cachedAccountURLForSyncConflictResolution;
}

+ (void)initialize;
+ (id)criteriaFromDefaultsArray:(id)fp8;
+ (id)criteriaFromDefaultsArray:(id)fp8 removingRecognizedKeys:(BOOL)fp12;
+ (id)defaultsArrayFromCriteria:(id)fp8;
+ (void)_updateAddressComments:(id)fp8;
+ (int)criterionTypeForString:(id)fp8;
+ (id)stringForCriterionType:(int)fp8;
- (id)init;
- (id)initWithCriterion:(id)fp8 expression:(id)fp12;
- (id)initWithDictionary:(id)fp8;
- (id)initWithDictionary:(id)fp8 andRemoveRecognizedKeysIfMutable:(BOOL)fp12;
- (void)dealloc;
- (void)finalize;
- (BOOL)isEqual:(id)fp8;
- (id)descriptionWithDepth:(unsigned int)fp8;
- (id)description;
- (id)dictionaryRepresentation;
- (int)criterionType;
- (void)setCriterionType:(int)fp8;
- (id)criterionIdentifier;
- (void)setCriterionIdentifier:(id)fp8;
- (id)_qualifierString;
- (int)qualifier;
- (void)setQualifier:(int)fp8;
- (id)expression;
- (void)setExpression:(id)fp8;
- (id)groupUniqueId;
- (void)setGroupUniqueId:(id)fp8;
- (id)recursiveGroupUniqueIds;
- (id)name;
- (void)setName:(id)fp8;
- (id)_headersRequiredForEvaluation;
- (void)addHeadersRequiredForRoutingToArray:(id)fp8;
- (BOOL)_evaluateDateCriterion:(id)fp8;
- (BOOL)_evaluateHeaderCriterion:(id)fp8;
- (BOOL)_evaluateBodyCriterion:(id)fp8;
- (BOOL)_evaluateAddressBookCriterion:(id)fp8;
- (BOOL)_doesGroup:(id)fp8 containSender:(id)fp12;
- (BOOL)_evaluateMemberOfGroupCriterion:(id)fp8;
- (BOOL)_evaluateAccountCriterion:(id)fp8;
- (BOOL)_evaluateAddressHistoryCriterion:(id)fp8;
- (BOOL)_evaluateFullNameCriterion:(id)fp8;
- (BOOL)_evaluateIsDigitallySignedCriterion:(id)fp8;
- (BOOL)_evaluateIsEncryptedCriterion:(id)fp8;
- (BOOL)_evaluatePriorityIsNormalCriterion:(id)fp8;
- (BOOL)_evaluatePriorityIsHighCriterion:(id)fp8;
- (BOOL)_evaluatePriorityIsLowCriterion:(id)fp8;
- (BOOL)_evaluateJunkMailCriterion:(id)fp8;
- (BOOL)_evaluateAttachmentCriterion:(id)fp8;
- (BOOL)doesMessageSatisfyCriterion:(id)fp8;
- (int)messageRuleQualifierForString:(id)fp8;
- (id)stringForMessageRuleQualifier:(int)fp8;
- (BOOL)hasExpression;
- (BOOL)hasQualifier;
- (BOOL)isValid:(id *)fp8;
- (id)criteria;
- (void)setCriteria:(id)fp8;
- (BOOL)allCriteriaMustBeSatisfied;
- (void)setAllCriteriaMustBeSatisfied:(BOOL)fp8;
- (int)dateUnits;
- (void)setDateUnits:(int)fp8;
- (BOOL)dateIsRelative;
- (void)setDateIsRelative:(BOOL)fp8;
- (int)specialMailboxType;
- (void)setSpecialMailboxType:(int)fp8;
- (BOOL)containsBodyCriterion;

@end

@interface MessageCriterion (ApplescriptRuleCriterion)
- (int)ruleType;
- (void)setRuleType:(int)fp8;
- (id)ruleHeader;
- (void)setRuleHeader:(id)fp8;
- (int)ruleQualifier;
- (void)setRuleQualifier:(int)fp8;
- (id)ruleExpression;
- (void)setRuleExpression:(id)fp8;
@end

@interface LibraryIMAPMessage : LibraryMessage
{
    MessageHeaders *_headers;
}

+ (id)messageWithLibraryID:(unsigned int)fp8;
- (void)dealloc;
- (id)headers;
- (void)setHeaders:(id)fp8;

@end

@interface MimeTextAttachment (ScriptingSupport)
- (id)appleScriptNameOfAttachment;
- (id)appleScriptMIMEType;
- (void)_loadFileWrapperForCommand:(id)fp8;
- (void)_finishSaveAttachmentCommand:(id)fp8;
- (id)handleSaveAttachmentCommand:(id)fp8;
- (id)appleScriptApproximateSize;
- (id)uniqueID;
- (id)objectSpecifier;
@end

